在 Java 中向 PDF 添加页面印章
Contents
[
Hide
]
Aspose.PDF for Java 可以将另一个 PDF 的页面用作水印,或添加页码覆盖层。
从另一个 PDF 添加页面水印
当需要将来自其他 PDF 的页面用作背景水印时,请使用此示例。
- 打开源 PDF Document。
- 创建一个 PdfPageStamp 从外部 PDF 页面。
- 配置印章并将其添加到目标页面,然后保存结果。
public static void addPageStamp(Path inputFile, Path pageStampFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
PdfPageStamp pageStamp = new PdfPageStamp(pageStampFile.toString(), 1);
pageStamp.setBackground(true);
document.getPages().get_Item(1).addStamp(pageStamp);
document.save(outputFile.toString());
}
}
添加标准页码印章
当目标页需要显示当前页码并使用自定义文本格式时,请使用此示例。
- 打开源 PDF Document。
- 创建并配置一个 PageNumberStamp。
- 将印章添加到页面并保存文档。
public static void addPageNumStamp(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
PageNumberStamp pageNumberStamp = new PageNumberStamp();
pageNumberStamp.setBackground(false);
pageNumberStamp.setFormat("Page # of " + document.getPages().size());
pageNumberStamp.setBottomMargin(10);
pageNumberStamp.setHorizontalAlignment(HorizontalAlignment.Center);
pageNumberStamp.setStartingNumber(1);
pageNumberStamp.getTextState().setFont(FontRepository.findFont("Arial"));
pageNumberStamp.getTextState().setFontSize(14.0f);
pageNumberStamp.getTextState().setFontStyle(FontStyles.Bold | FontStyles.Italic);
pageNumberStamp.getTextState().setForegroundColor(Color.getBlueViolet());
document.getPages().get_Item(1).addStamp(pageNumberStamp);
document.save(outputFile.toString());
}
}
添加罗马数字页码印章
当页码应从自定义值开始,并使用大写罗马数字时,请使用此示例。
- 打开源 PDF Document。
- 创建一个 PageNumberStamp 并配置罗马数字编号。
- 将印章添加到所有页面并保存 PDF。
public static void addPageNumStampRoman(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
PageNumberStamp pageNumberStamp = new PageNumberStamp();
pageNumberStamp.setBackground(false);
pageNumberStamp.setBottomMargin(10);
pageNumberStamp.setHorizontalAlignment(HorizontalAlignment.Center);
pageNumberStamp.setStartingNumber(42);
pageNumberStamp.setNumberingStyle(NumberingStyle.NumeralsRomanUppercase);
pageNumberStamp.getTextState().setFont(FontRepository.findFont("Arial"));
pageNumberStamp.getTextState().setFontSize(14.0f);
pageNumberStamp.getTextState().setFontStyle(FontStyles.Bold);
pageNumberStamp.getTextState().setForegroundColor(Color.getBlueViolet());
for (Page page : document.getPages()) {
page.addStamp(pageNumberStamp);
}
document.save(outputFile.toString());
}
}