Der Text zeigt Ihnen, wie Sie einem PDF-Dokument über Java eine Tabelle hinzufügen. Wenn Sie eine Tabelle hinzufügen, können Sie den Tabellenrand, die Zellenplatzierung, die Zellenhintergrundfarbe, das Zusammenführen von Zellen, das Einfügen von Bildern, die Zeilenhöhe, die Spaltenbreite, die Schriftart, die Größe usw. festlegen.
Verwendete Tools: Free Spire.PDF für Java (kostenlose Version)
Abrufen und Installieren von Jar-Dateien:
Methode 1: Laden Sie die JAR-Datei-Tasche über die Homepage herunter. Entpacken Sie nach dem Herunterladen die Datei und verwandeln Sie die Datei Spire.Pdf.jar unter dem Ordner lib in ein Java-Programm. Vorstellen.
Methode 2: Maven Warehouse Einführung durch Installation.
import com.spire.pdf.graphics.*;
import com.spire.pdf.grid.PdfGrid;
import java.awt.*;
public class CreateGrid {
public static void main(String[] args) {
//Erstellen Sie ein Dokument und fügen Sie eine PDF-Seite hinzu
PdfDocument doc = new PdfDocument();
PdfPageBase page = doc.getPages().add();
//Erstellen Sie ein PdfGrid-Objekt
PdfGrid grid = new PdfGrid();
//Legen Sie die Zellenränder, die Standardschriftart, die Schriftfarbe und die Standardhintergrundfarbe fest
grid.getStyle().setCellPadding(new PdfPaddings(3,3,3,3));
grid.getStyle().setFont(new PdfTrueTypeFont(new Font("Arial Unicode MS", Font.PLAIN,10), true));
grid.getStyle().setTextBrush(PdfBrushes.getBlack());
grid.getStyle().setBackgroundBrush(PdfBrushes.getLightGray());
//Erstellen Sie ein PdfBorders-Objekt und legen Sie Farbe und Dicke fest
PdfBorders borders= new PdfBorders();
borders.setAll(new PdfPen(PdfBrushes.getWhite(),1f));
//Datendefinition
String[] data = {"Continent;Country;Population;Ratio to World Pop;Flag",
"Asia;China;1,391,190,000;18.2%; ",
"Asia;Japan;126,490,000;1.66%; ",
"Europe;United Kingdom;65,648,054;0.86%; ",
"Europe;Germany;82,665,600;1.08%; ",
"North America; Canada; 37,119,000; 0.49%; ",
"North America; United States; 327,216,000; 4.29%; "
};
String[][] dataSource = new String[data.length][];
for (int i = 0; i < data.length; i++) {
dataSource[i] = data[i].split("[;]", -1);
}
//Füllen Sie die Tabelle mit Daten
grid.setDataSource(dataSource);
//Legen Sie das Farbraster für den Zellenhintergrund fest.getRows().get(1).getCells().get(4).getStyle().setBackgroundImage(PdfImage.fromFile("F:\\Documents\\flags\\flag-of-China.png "));
grid.getRows().get(2).getCells().get(4).getStyle().setBackgroundImage(PdfImage.fromFile("F:\\Documents\\flags\\flag-of-Japan.png "));
grid.getRows().get(3).getCells().get(4).getStyle().setBackgroundImage(PdfImage.fromFile("F:\\Documents\\flags\\flag-of-United-Kingdom.png "));
grid.getRows().get(4).getCells().get(4).getStyle().setBackgroundImage(PdfImage.fromFile("F:\\Documents\\flags\\flag-of-Germany.png "));
grid.getRows().get(5).getCells().get(4).getStyle().setBackgroundImage(PdfImage.fromFile("F:\\Documents\\flags\\flag-of-Canada.png "));
grid.getRows().get(6).getCells().get(4).getStyle().setBackgroundImage(PdfImage.fromFile("F:\\Documents\\flags\\flag-of-United-States-of-America.png "));
//Stellen Sie die Höhe für jede Reihe ein
grid.getColumns().get(grid.getColumns().getCount()-1).setWidth(60f);
//Zellen vertikal kombinieren
grid.getRows().get(1).getCells().get(0).setRowSpan(2);
grid.getRows().get(3).getCells().get(0).setRowSpan(2);
grid.getRows().get(5).getCells().get(0).setRowSpan(2);
for (int i = 0; i < data.length ; i++) {
//Stellen Sie die Höhe für jede Spalte ein
grid.getRows().get(i).setHeight(30f);
//Legt die Hintergrundfarbe für das erste Spaltenraster fest.getRows().get(i).getCells().get(0).getStyle().setBackgroundBrush(PdfBrushes.getDarkGray());
//Legen Sie die Schriftart für die erste Spalte fest
grid.getRows().get(i).getCells().get(0).getStyle().setFont(new PdfTrueTypeFont(new Font("Arial",Font.PLAIN,12),true));
for (int j = 0; j < grid.getColumns().getCount(); j++) {
//Legt den Rahmenstil für alle Zellen fest
grid.getRows().get(i).getCells().get(j).getStyle().setBorders(borders);
//Legt die Ausrichtung von Text in allen Zellen fest
grid.getRows().get(i).getCells().get(j).setStringFormat(new PdfStringFormat(PdfTextAlignment.Center,PdfVerticalAlignment.Middle));
//Stellen Sie die Schriftart für die erste Zeile ein
grid.getRows().get(0).getCells().get(j).getStyle().setFont(new PdfTrueTypeFont(new Font("Arial",Font.PLAIN,12),true));
//Legt die Hintergrundfarbe der ersten Zeile fest
grid.getRows().get(0).getCells().get(j).getStyle().setBackgroundBrush(PdfBrushes.getDarkGray());
}
}
//Zeichnen Sie die Tabelle als PDF
grid.draw(page,0,30);
//Dokument speichern
doc.saveToFile("Grid.pdf");
doc.close();
}
}
Recommended Posts