Headers and Footers
Foxit PDF SDK for Android provides header and footer APIs through the Core SDK, supporting add, update, and remove operations with date, page numbers, and custom text.
Core Classes
| Class | Description |
|---|---|
HeaderFooter | Header/footer object: font, color, page range, margins, content |
HeaderFooterContent | Text at six positions (header left/center/right, footer left/center/right) |
HeaderFooterContentGenerator | Content generator for date, page number, and custom text formats |
PageNumberRange | Page range with start, end, and filter |
Manage headers and footers via PDFDoc: addHeaderFooter(), updateHeaderFooter(), getEditableHeaderFooter(), removeAllHeaderFooters(), and hasHeaderFooter().
Generate Content with ContentGenerator
HeaderFooterContentGenerator builds date and page number strings from predefined formats:
java
HeaderFooterContentGenerator generator = new HeaderFooterContentGenerator();
generator.addDate(HeaderFooterContentGenerator.e_DateFormatYYYYHyphenMMHyphenDD);
generator.addString(" - Page ");
generator.addPageNumber(HeaderFooterContentGenerator.e_PageNumberFormatDefault);
String result = generator.generateContent();Date Format Constants (Partial)
| Constant | Format |
|---|---|
e_DateFormatMSlashD | M/D |
e_DateFormatMMSlashDDSlashYYYY | MM/DD/YYYY |
e_DateFormatYYYYHyphenMMHyphenDD | YYYY-MM-DD |
e_DateFormatDDDotMMDotYYYY | DD.MM.YYYY |
Note
The SDK provides 21 date format constants for common international formats. See the API Reference for the full list.
Page Number Format Constants
| Constant | Example Output |
|---|---|
e_PageNumberFormatDefault | 1 |
e_PageNumberFormatNumberOfCount | 1 of 10 |
e_PageNumberFormatNumberSlashCount | 1/10 |
e_PageNumberFormatPageNumber | Page 1 |
e_PageNumberFormatPageNumberOfCount | Page 1 of 10 |
Complete Example
java
PDFDoc doc = new PDFDoc(filePath);
doc.load(null);
// Footer center: page number
HeaderFooterContentGenerator pageNumGen = new HeaderFooterContentGenerator();
pageNumGen.addString("- ");
pageNumGen.addPageNumber(HeaderFooterContentGenerator.e_PageNumberFormatDefault);
pageNumGen.addString(" -");
String footerCenter = pageNumGen.generateContent();
// Header right: date
HeaderFooterContentGenerator dateGen = new HeaderFooterContentGenerator();
dateGen.addDate(HeaderFooterContentGenerator.e_DateFormatYYYYHyphenMMHyphenDD);
String headerRight = dateGen.generateContent();
// Set content
HeaderFooterContent content = new HeaderFooterContent();
content.setHeader_left_content("Foxit PDF SDK");
content.setHeader_right_content(headerRight);
content.setFooter_center_content(footerCenter);
// Page range
PageNumberRange pageRange = new PageNumberRange();
pageRange.setStart_number(0);
pageRange.setEnd_number(doc.getPageCount() - 1);
pageRange.setFilter(0);
// Create HeaderFooter
HeaderFooter headerFooter = new HeaderFooter();
headerFooter.setFont(new Font(Font.e_StdIDHelvetica));
headerFooter.setText_size(10.0f);
headerFooter.setText_color(0x000000);
headerFooter.setPage_range(pageRange);
headerFooter.setPage_margin(new RectF(72, 36, 72, 36));
headerFooter.setStart_page_number(1);
headerFooter.setContent(content);
headerFooter.setIs_to_embed_font(true);
doc.addHeaderFooter(headerFooter);
doc.saveAs(outputPath, PDFDoc.e_SaveFlagNormal);API Reference
See the API Reference for full HeaderFooter, HeaderFooterContent, and HeaderFooterContentGenerator documentation.