Java가 기존 PDF 문서에 페이지 번호 추가

일상 업무에서는 PDF 문서의 읽기, 검색 및 관리를 용이하게 하기 위해 PDF 문서에 페이지 번호를 추가해야 합니다. 그래서 Free Spire.PDF for Java를 사용하여 Java 프로그램에서 PDF 문서에 페이지 번호를 빠르게 추가하는 방법을 소개합니다.

먼저 참조용으로 결과 그래프를 배치합니다.


기본 절차:
1. Free Spire.PDF for Java 패키지를 다운로드하고 압축을 풉니 다.
2. lib 폴더의 Spire.Pdf.jar 패키지를 종속성으로 Java 응용 프로그램으로 가져옵니다. (Maven 리포지토리에서 직접 JAR 패키지를 설치할 수도 있습니다 (pom.xml 파일을 구성하는 코드는 아래 참조)). .
3. Java 응용프로그램에서 새 Java 클래스(여기서는 AddPageNumbers라는 이름)를 작성하고 해당 Java 코드를 입력하여 실행하십시오.

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>

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) {

        //PDFドキュメントをロード
        PdfDocument doc = new PdfDocument();
        doc.loadFromFile("file1.pdf");

        //フォントを作成
        PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("宋体", Font.PLAIN, 10),true);

        //ページサイズを取得する
        Dimension2D pageSize = doc.getPages().get(0).getSize();

        //y座標を初期化する
        float y = (float) pageSize.getHeight() - 40;

        //ドキュメントのページを反復処理します
        for (int i = 0; i < doc.getPages().getCount(); i++) {

            //ページ番号フィールドの初期化
            PdfPageNumberField number = new PdfPageNumberField();

            //総ページ数フィールドを初期化する
            PdfPageCountField count = new PdfPageCountField();

            //複合ドメインを作成する
            PdfCompositeField compositeField = new PdfCompositeField(font, PdfBrushes.getBlack(), "ページ{0}合計{1}", number, count);

            //设複合フィールドにテキストの配置を設定する
            compositeField.setStringFormat(new PdfStringFormat(PdfTextAlignment.Right, PdfVerticalAlignment.Top));

            //文字サイズの測定
            Dimension2D textSize = font.measureString(compositeField.getText());

            //PDFページの複合フィールドの位置とサイズを設定する
            compositeField.setBounds(new Rectangle2D.Float(((float) pageSize.getWidth() - (float) textSize.getWidth())/2, y, (float) textSize.getWidth(), (float) textSize.getHeight()));

            //複合フィールドをPDFページに追加する
            compositeField.draw(doc.getPages().get(i).getCanvas());
        }

        //ドキュメントを保存します
        doc.saveToFile("Numbers.pdf");
    }
}

좋은 웹페이지 즐겨찾기