Le texte vous montrera comment ajouter un tableau à un document PDF via Java. Lorsque vous ajoutez un tableau, vous pouvez définir la bordure du tableau, l'emplacement des cellules, la couleur d'arrière-plan des cellules, la fusion des cellules, l'insertion d'image, la hauteur de ligne, la largeur de colonne, la police, la taille, etc.
Outils utilisés: Free Spire.PDF pour Java (version gratuite)
Obtention et installation des fichiers Jar:
Méthode 1: Téléchargez le sac de fichiers JAR via la page d'accueil. Après le téléchargement, décompressez le fichier et transformez le fichier Spire.Pdf.jar sous le dossier lib en un programme Java. Présenter.
Méthode 2: Maven Warehouse Introduction par installation.
import com.spire.pdf.graphics.*;
import com.spire.pdf.grid.PdfGrid;
import java.awt.*;
public class CreateGrid {
public static void main(String[] args) {
//Créer un document et ajouter une page PDF
PdfDocument doc = new PdfDocument();
PdfPageBase page = doc.getPages().add();
//Créer un objet PdfGrid
PdfGrid grid = new PdfGrid();
//Définir les marges dans la cellule, la police standard, la couleur de la police, la couleur d'arrière-plan standard
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());
//Créez un objet PdfBorders et définissez la couleur et l'épaisseur
PdfBorders borders= new PdfBorders();
borders.setAll(new PdfPen(PdfBrushes.getWhite(),1f));
//Définition des données
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);
}
//Remplissez le tableau avec des données
grid.setDataSource(dataSource);
//Définir la grille de couleur d'arrière-plan de la cellule.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 "));
//Définissez la hauteur de chaque ligne
grid.getColumns().get(grid.getColumns().getCount()-1).setWidth(60f);
//Combiner les cellules verticalement
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++) {
//Définissez la hauteur de chaque colonne
grid.getRows().get(i).setHeight(30f);
//Définit la couleur d'arrière-plan de la première grille de colonnes.getRows().get(i).getCells().get(0).getStyle().setBackgroundBrush(PdfBrushes.getDarkGray());
//Définissez la police de la première colonne
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++) {
//Définit le style de bordure pour toutes les cellules
grid.getRows().get(i).getCells().get(j).getStyle().setBorders(borders);
//Définit l'alignement du texte dans toutes les cellules
grid.getRows().get(i).getCells().get(j).setStringFormat(new PdfStringFormat(PdfTextAlignment.Center,PdfVerticalAlignment.Middle));
//Définir la police de la première ligne
grid.getRows().get(0).getCells().get(j).getStyle().setFont(new PdfTrueTypeFont(new Font("Arial",Font.PLAIN,12),true));
//Définit la couleur d'arrière-plan de la première ligne
grid.getRows().get(0).getCells().get(j).getStyle().setBackgroundBrush(PdfBrushes.getDarkGray());
}
}
//Dessinez le tableau au format PDF
grid.draw(page,0,30);
//Enregistrer le document
doc.saveToFile("Grid.pdf");
doc.close();
}
}
Recommended Posts