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");
}
}
Reference
이 문제에 관하여(Java가 기존 PDF 문서에 페이지 번호 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/iceblue/items/c9c6e3e42c14cf11365a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)