Genom att följa instruktionerna i den här artikeln, lägg till innehållsförteckning till PDF med Java. Få alla detaljer för att ställa in utvecklingsmiljön, en programlogik i steg och en exempelkod för att lägga till klickbar innehållsförteckning till PDF med Java. Du kommer att lära dig en mängd olika anpassningar som är tillämpliga på innehållsförteckningen i en PDF-fil.
Steg för att skapa innehållsförteckning i PDF med Java
- Ställ in IDE att använda Aspose.PDF for Java för att lägga till en innehållsförteckning i början
- Ladda PDF-filen i objektet Document, få det totala antalet sidor och infoga en ny sida i början av PDF:en
- Använd TocInfo och TextFragment för att definiera egenskaperna för innehållsförteckningen
- Generera listan över strängar med rubriktext för innehållsförteckningen
- Gå igenom sidorna i PDF-filen och lägg till en post i TOC för varje sida i PDF-filen
- Länka respektive sida med posten i TOC och ställ in destinationskoordinaten på den länkade sidan
- Spara den utgående PDF-filen med TOC på första sidan
Dessa steg definierar processen för att skapa klickbar innehållsförteckning i PDF med Java. Initiera processen genom att ladda PDF-filen, få räkningen av dess sidor och deklarera och konfigurera TocInfo-objektet för att ställa in egenskaperna för innehållsförteckningen. Läs igenom alla sidor i PDF-filen, lägg till en post i TOC med en hyperlänk för varje sida, ställ in länktext och definiera sidkoordinaterna dit kontrollen flyttas när vi klickar på posten i innehållsförteckningen.
Kod för att lägga till innehållsförteckning i PDF med Java
import com.aspose.pdf.*; | |
import java.util.ArrayList; | |
import java.util.List; | |
public class Main | |
{ | |
public static void main(String[] args) throws Exception // Create TOC in PDF in Java | |
{ | |
// Set the licenses | |
new License().setLicense("License.lic"); | |
// Load the pdf document | |
Document inputDoc = new Document("Document1.pdf"); | |
// Get count of pages in the PDF | |
int count = inputDoc.getPages().size(); | |
// Insert a page for table of contents | |
Page pageTOC = inputDoc.getPages().insert(1); | |
// Instantiate an object of TocInfo for TOC information | |
TocInfo tocInfo = new TocInfo(); | |
// Create an object of TextFragment for setting TOC title | |
TextFragment title = new TextFragment("Table Of Contents"); | |
title.getTextState().setFontSize(20); | |
// Set the title for Table of contents | |
tocInfo.setTitle(title); | |
pageTOC.setTocInfo(tocInfo); | |
// Create a list of strings for TOC | |
List<String> tocTitles = new ArrayList<String>(); | |
for(int j = 1; j <= count; j++) | |
tocTitles.add("Page " + (j + 1)); | |
int i = 0; | |
while (i < count) | |
{ | |
// Instantiate an object of the Heading class | |
Heading heading = new Heading(1); | |
TextSegment textSegment = new TextSegment(); | |
heading.setTocPage(pageTOC); | |
heading.getSegments().add(textSegment); | |
// Set the destination page for the heading object | |
heading.setDestinationPage(inputDoc.getPages().get_Item(i + 2)); | |
// Set the destination coordinates for TOC item | |
heading.setTop(inputDoc.getPages().get_Item(i + 2).getRect().getHeight()); | |
// Set TOC item text | |
textSegment.setText(tocTitles.get(i)); | |
// Add heading to the TOC page | |
pageTOC.getParagraphs().add(heading); | |
i += 1; | |
} | |
// Save PDF Document | |
inputDoc.save("TOC.pdf"); | |
System.out.println("Done"); | |
} | |
} |
Den här artikeln har lärt oss hur man lägger till innehållsförteckning i PDF med Java. För att lägga till sidhuvud och sidfot i PDF:en, se artikeln om hur man lägger till sidhuvud och sidfot i PDF med Java.