Maison >Java >javaDidacticiel >Comment ajouter des numéros de page aux documents PDF en Java

Comment ajouter des numéros de page aux documents PDF en Java

PHPz
PHPzavant
2023-04-30 10:58:061182parcourir

Environnement de compilation de code

IntelliJ IDEA 2019 (jdk 1.8.0)

Package PDF Jar : Spire.PDF gratuit pour Java 5.1.0

Introductionjarpackage

Méthode d'importation 1 :

Man généralement Introduction. Téléchargez Free Spire.PDF pour Java localement, décompressez-le et recherchez le fichier Spire.PDF.jar dans le dossier lib. Ouvrez l'interface suivante dans IDEA et introduisez le fichier jar dans le chemin local dans le programme Java :

Comment ajouter des numéros de page aux documents PDF en Java

Méthode d'importation 2 : Si vous souhaitez installer via Maven, vous pouvez ajouter le code suivant dans le fichier pom.xml à importez le fichier JAR.

<repositories>

        <repository>

            <id>com.e-iceblue</id>

            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>

        </repository>

    </repositories>

<dependencies>

    <dependency>

        <groupId>e-iceblue</groupId>

        <artifactId>spire.pdf.free</artifactId>

        <version>5.1.0</version>

    </dependency>

</dependencies>

ajoutera des numéros de page à un document PDF

Les étapes suivantes montrent comment ajouter des numéros de page comme "Page

  • Utilisez la méthode PdfDocument.loadFromFile() pour charger un document PDF.

  • Créez un objet de la classe PdfPageNumberField.

  • Créez un objet de la classe PdfPageCountField.

  • Créez un objet de la classe PdfCompositeField.

  • Utilisez la méthode PdfCompositeField.setStringFormat() pour définir l'alignement du texte pour un champ composite.

  • Parcourez chaque page du document PDF, puis utilisez la méthode PdfCompositeField.draw() pour dessiner le champ composite à un emplacement spécifique de la page.

  • Utilisez la méthode PdfDocument.saveToFile() pour enregistrer le document résultant.

  • Code complet

  • Java
import com.spire.pdf.*;
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.*;

public class addPageNumber {
    public static void main(String[] args) {

        //创建 PdfDocument 类的对象
        PdfDocument pdf = new PdfDocument();
        //载入PDF文档
        pdf.loadFromFile("九寨沟简介 .pdf");

        //创建 PdfTrueTypeFont 类的对象
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("华文中宋", Font.PLAIN, 10));

        //创建 PdfPageNumberField 类的对象
        PdfPageNumberField pageNumberField = new PdfPageNumberField(font, PdfBrushes.getBlack());

        //创建 PdfPageCountField 类的对象
        PdfPageCountField pageCountField = new PdfPageCountField(font, PdfBrushes.getBlack());

        //创建一个 PdfCompositeField 类的对象,将页码字段和页数字段添加到复合字段
        PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.getBlack(), "第{0}页/共{1}页", pageNumberField, pageCountField);

        //设置复合字段的文字格式
        compositeField.setStringFormat(new PdfStringFormat(PdfTextAlignment.Left, PdfVerticalAlignment.Top));

        //循环遍历文档中的页面
        for(int i = 0; i < pdf.getPages().getCount();i ++)
        {
            PdfPageBase page = pdf.getPages().get(i);
            float x = (float) page.getSize().getWidth()/2 - 20;
            float y = (float)page.getSize().getHeight() - pdf.getPageSettings().getMargins().getBottom();
            //将复合字段描绘于每个页面上
            compositeField.draw(page.getCanvas(), x, y);
        }

        //保存结果文档
        pdf.saveToFile("添加页码.pdf");
    }
}

Rendu

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer