Maison >Java >javaDidacticiel >Comment ajouter des numéros de page aux documents PDF en Java
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 :
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>
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
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"); } }
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!