IntelliJ IDEA 2019(jdk 1.8.0)
PDF Jar套件:Free Spire.PDF for Java 5.1.0
#引入jar套件
導入方法1:
#手動引入。將Free Spire.PDF for Java下載到本機,解壓縮,找到lib資料夾下的Spire.PDF.jar檔。在IDEA中開啟下列介面,將本機路徑中的jar檔引入Java程式:
#匯入方法2:如果您想要透過 Maven安裝,則可以在pom.xml文件中加入以下程式碼導入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>
以下步驟展示如何將「第X 頁(共Y 頁)」這樣的頁碼加入現有的PDF 文件中:
建立PdfDocument 類別的物件。
使用 PdfDocument.loadFromFile() 方法載入 PDF 文件。
建立 PdfPageNumberField 類別的物件。
建立 PdfPageCountField 類別的物件。
建立 PdfCompositeField 類別的物件。
使用 PdfCompositeField.setStringFormat() 方法為複合欄位設定文字對齊方式。
循環遍歷 PDF 文件中的每一頁,然後使用 PdfCompositeField.draw() 方法在頁面的特定位置繪製複合欄位。
使用 PdfDocument.saveToFile() 方法儲存結果文件。
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"); } }
以上是Java如何實作新增頁碼到PDF文檔的詳細內容。更多資訊請關注PHP中文網其他相關文章!