Dans les opérations quotidiennes, il est souvent nécessaire d'ajouter des numéros de page aux documents PDF pour les rendre plus faciles à lire, rechercher et gérer. Je vais donc vous montrer comment utiliser Free Spire.PDF pour Java pour ajouter rapidement des numéros de page à vos documents PDF dans un programme Java.
** Tout d'abord, placez le graphique de résultat pour référence: **

** Étapes de base: ** ** 1. ** Free Spire.PDF pour Java Téléchargez et décompressez le package. ** 2. ** Importez le package Spire.Pdf.jar du dossier lib dans votre application Java en tant que dépendance. (Vous pouvez également installer le package JAR directement à partir du référentiel Maven (voir ci-dessous le code qui compose le fichier pom.xml)). .. ** 3. ** Dans votre application Java, créez une nouvelle classe Java (nommée AddPageNumbers ici) et entrez et exécutez le code Java correspondant.
** Configurez le fichier pom.xml: **
<repositories>
   <repository>
      <id>com.e-iceblue</id>
      <name>e-iceblue</name>
      <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
   </repository>
</repositories>
<dependencies>
   <dependency>
      <groupId>e-iceblue</groupId>
      <artifactId>spire.pdf.free</artifactId>
      <version>2.6.3</version>
   </dependency>
</dependencies>
** Exemple de code Java: **
import com.spire.pdf.PdfDocument;
import com.spire.pdf.automaticfields.PdfCompositeField;
import com.spire.pdf.automaticfields.PdfPageCountField;
import com.spire.pdf.automaticfields.PdfPageNumberField;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.Dimension2D;
import java.awt.geom.Rectangle2D;
public class AddPageNumbers {
    public static void main(String[] args) {
        //Charger le document PDF
        PdfDocument doc = new PdfDocument();
        doc.loadFromFile("file1.pdf");
        //Créer une police
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Corps de la chanson", Font.PLAIN, 10),true);
        //Obtenir la taille de la page
        Dimension2D pageSize = doc.getPages().get(0).getSize();
        //Initialiser les coordonnées y
        float y = (float) pageSize.getHeight() - 40;
        //Itère sur les pages du document
        for (int i = 0; i < doc.getPages().getCount(); i++) {
            //Initialiser le champ de numéro de page
            PdfPageNumberField number = new PdfPageNumberField();
            //Initialiser le champ du nombre total de pages
            PdfPageCountField count = new PdfPageCountField();
            //Créer un domaine composite
            PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.getBlack(), "page{0}total{1}", number, count);
            //Définir l'alignement du texte dans le champ composé
            compositeField.setStringFormat(new PdfStringFormat(PdfTextAlignment.Right, PdfVerticalAlignment.Top));
            //Mesure de la taille de la police
            Dimension2D textSize = font.measureString(compositeField.getText());
            //Définir la position et la taille des champs composés sur les pages PDF
            compositeField.setBounds(new Rectangle2D.Float(((float) pageSize.getWidth() - (float) textSize.getWidth())/2, y, (float) textSize.getWidth(), (float) textSize.getHeight()));
            //Ajouter des champs composés à une page PDF
            compositeField.draw(doc.getPages().get(i).getCanvas());
        }
        //Sauvegarder le document
        doc.saveToFile("Numbers.pdf");
    }
}
        Recommended Posts