Add Page Stamps to PDF in Java
Contents
[
Hide
]
Aspose.PDF for Java can apply a page from another PDF as a stamp or add page numbering overlays.
Add a page stamp from another PDF
Use this example when a page from a separate PDF should be used as a background stamp.
- Open the source PDF Document.
- Create a PdfPageStamp from the external PDF page.
- Configure the stamp and add it to the target page, then save the result.
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());
}
}
Add a standard page number stamp
Use this example when the target page should show the current number with custom text formatting.
- Open the source PDF Document.
- Create and configure a PageNumberStamp.
- Add the stamp to the page and save the document.
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());
}
}
Add a Roman numeral page number stamp
Use this example when page numbering should start from a custom value and use uppercase Roman numerals.
- Open the source PDF Document.
- Create a PageNumberStamp and configure Roman numeral numbering.
- Add the stamp to all pages and save the 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());
}
}