Denna korta handledning beskriver hur man läser bokmärken i PDF med Java som används för att snabbt hitta visst innehåll. Med hjälp av denna handledning kan du inte bara hämta bokmärken i PDF med Java utan också hämta underordnade bokmärken för alla andra bokmärken. Du kommer också att lära dig att visa olika egenskaper för bokmärket som dess titel och formateringsinformation som färg, fetstil och kursiv.
Steg för att läsa bokmärken i PDF med Java
- Installera Aspose.PDF från Maven-förvaret för att läsa bokmärkena i PDF
- Ladda mål-PDF-filen med klassobjektet Document för att hämta bokmärkena
- Iterera igenom alla bokmärkessamlingar med OutlineItemCollection
- Visa bokmärkesegenskaper för varje post i samlingen
- Iterera genom varje enskilt bokmärke för att komma åt de underordnade bokmärkena i det
- Visa egenskaper för varje underordnat bokmärke
I denna snabba steg-för-steg-procedur laddar vi först mål-PDF-filen och får sedan referensen till dess bokmärkessamling för att extrahera bokmärken i pdf med Java. Vi kan också få tillgång till barnbokmärkena i varje bokmärke.
Koda för att hämta bokmärken i PDF med Java
import com.aspose.pdf.Document; | |
import com.aspose.pdf.License; | |
import com.aspose.pdf.OutlineItemCollection; | |
public class HowToReadBookmarksInPdfUsingJava { | |
public static void main() throws Exception { //main() function for HowToReadBookmarksInPdfUsingJava | |
// Instantiate Aspose.PDF license to remove trial version limitations while fetching bookmarks in PDF | |
License BookmarksPDFlicense = new License(); | |
BookmarksPDFlicense.setLicense("Aspose.PDF.lic"); | |
// Load the target PDF file to read the bookmarks | |
Document samplePDFWithBookmarks = new Document("PDFWithBookmarks.pdf"); | |
// Iterate through all the bookmarks and fetch the bookmark text and formatting information | |
for (OutlineItemCollection Bookmark : (Iterable<OutlineItemCollection>) samplePDFWithBookmarks.getOutlines()) { | |
System.out.println("Title :- " + Bookmark.getTitle()); | |
System.out.println("Is Italic :- " + Bookmark.getItalic()); | |
System.out.println("Is Bold :- " + Bookmark.getBold()); | |
System.out.println("Color :- " + Bookmark.getColor()); | |
// Check if there is any child bookmarks | |
if(Bookmark.size() > 0) | |
{ | |
System.out.println("Reading Child bookmarks..."); | |
// Iterate through each bookmark to fetch child bookmark properties | |
for (OutlineItemCollection childBookmark : (Iterable<OutlineItemCollection>) Bookmark) | |
{ | |
System.out.println("Title :- " + childBookmark.getTitle()); | |
System.out.println("Is Italic :- " + childBookmark.getItalic()); | |
System.out.println("Is Bold :- " + childBookmark.getBold()); | |
System.out.println("Color :- " + childBookmark.getColor()); | |
} | |
} | |
} | |
} | |
} |
Denna exempelkod visar processen för att hämta bokmärken i PDF med Java genom att ladda mål-PDF-filen från skivan. Sedan får den tillgång till sin bokmärkeslista med den iterable gränssnittsimplementeringen för OutlineItemCollection. Samma samling av konturobjekt kan användas för att hämta barnbokmärken från varje bokmärke.
I den här handledningen lärde vi oss hur man läser bokmärken i PDF med Java utan att installera något annat verktyg från tredje part. Om du vill utföra samma process på något annat språk som C-Sharp, se artikeln om Hur man läser bokmärken i PDF med C#.