Java ajoute un tableau au PDF

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();
    }
}

PDF table.png

Recommended Posts

Java ajoute un tableau au PDF
Java ajoute des champs de formulaire au PDF
Java ajoute des numéros de page aux documents PDF existants
Java pour extraire le contenu de texte PDF
Java ajoute des graphiques SmartArt à PowerPoint
Java ajoute des hyperliens aux documents Word
Ajouter un filigrane à Java au document PDF
[Java] Introduction à Java
Introduction à Java
Java ajoute une zone de texte aux diapositives PowerPoint
J'ai essayé de sortir quatre-vingt-dix-neuf en Java
[Java] Convertir la version PDF
Changements de Java 8 à Java 11
Somme de Java_1 à 100
Document PDF compressé Java
[Java] Connectez-vous à MySQL
Améliorations de Kotlin à Java
[Java] Paramètres d'affichage PDF
De Java à Ruby !!
Introduction à la commande java
Injection d'expression de table Java
Lancez Docker à partir de Java pour convertir des documents Office en PDF
Pour les applications Java, convertissez des documents Word (DOC / DOCX) en PDF
Comment abaisser la version java
Migration de Cobol vers JAVA
Comment désinstaller Java 8 (Mac)
Java pour jouer avec Function
Java - Comment créer JTable
Comment utiliser java Facultatif
Cryptage et décryptage Java PDF
Nouvelles fonctionnalités de Java7 à Java8
Comment réduire les images Java
Comment rédiger un commentaire java
Comment utiliser la classe Java
Pagination de PDF avec Java + PDFBox.jar
Connectez-vous de Java à PostgreSQL
[Java] Comment utiliser removeAll ()
[Java] Comment afficher les Wingdings
Java transforme Excel en PDF
[Java] Introduction à l'expression lambda
Shell pour tuer les processus Java
Comment utiliser Java Map
Comment définir des constantes Java
Connectez-vous à DB avec Java
Connectez-vous à MySQL 8 avec Java
[java] Raisons d'utiliser statique
Comment utiliser les variables Java
[Java] Introduction à l'API Stream
Java8 pour démarrer maintenant ~ Facultatif ~
Comment convertir la base Java
[Java] Convertir ArrayList en tableau
Thread Java pour comprendre vaguement
[Java] Comment implémenter le multithreading
De Java inefficace à Java efficace
Comment initialiser un tableau Java