Det här ämnet omfattar processen att skapa innehållsförteckning i PDF med Python. Den täcker detaljerna för att upprätta utvecklingsmiljön, en lista med steg och en arbetskod för att lägga till innehållsförteckning i PDF med Python. Du kommer också att få veta om konfigurationerna för innehållsförteckningen inklusive hyperlänkar, texten och anslutningar till olika sidor från PDF-filen.
Steg för att lägga till innehållsförteckning till PDF med Python
- Ställ in miljön på använd Aspose.PDF för Python via .NET för att lägga till en innehållsförteckning
- Öppna exempel-PDF-filen Document och infoga en sida i början för att lägga till innehållsförteckning
- Skapa instanser av klasserna TocInfo och TextFragment för att ställa in TOC-titeln
- Ställ in rubriktexten för innehållsförteckningen
- Iterera igenom alla PDF-sidor för att lägga till en respektive innehållsförteckningsrubrik
- Ställ in målsidan, dess koordinater och rubriktext under varje iteration
- Spara den resulterande PDF-filen med innehållsförteckning på första sidan
Ovanstående steg visar processen att skapa klickbar innehållsförteckning i PDF med Python. Öppna käll-PDF-filen, lägg till en sida i början av dokumentet för att hålla innehållsförteckningen och använd instanserna av TocInfo och TextFragment för att ställa in egenskaperna för innehållsförteckningen. För varje sida i det laddade PDF-dokumentet, infoga en hyperlänk i innehållsförteckningen, ställ in dess text och länka till den önskade sidan.
Kod för att lägga till klickbar innehållsförteckning till PDF med Python
import aspose.pdf as pdf | |
# Set the source directory path | |
filePath = "C://Words//" | |
# Load the license in your application to create TOC in PDF | |
pdf.License().set_license(filePath + "Conholdate.Total.Product.Family.lic") | |
# Open the sample PDF document file from the disk | |
pdfDoc = pdf.Document(filePath + "Sample.pdf") | |
# Insert a page for table of contents | |
pageTOC = pdfDoc.pages.insert(1) | |
# Instantiate an object of TocInfo for TOC information | |
tocInfo = pdf.TocInfo() | |
# Create an object of TextFragment for setting TOC title | |
title = pdf.text.TextFragment("Table Of Contents") | |
title.text_state.font_size = 20 | |
# Set the title for Table of contents | |
tocInfo.title = title | |
pageTOC.toc_info = tocInfo | |
# Generate a list of strings for TOC | |
tocTitles = [] | |
# Get count of pages in the PDF | |
count = pdfDoc.pages.length | |
for j in range(0, count): | |
tocTitles.insert(j, "Page "+ str(j + 1)) | |
i = 0 | |
while i < count: | |
# Instantiate an object of the Heading class | |
heading = pdf.Heading(1) | |
heading.toc_page = pageTOC | |
# Set the destination page for the heading object | |
heading.destination_page = pdfDoc.pages[i + 1] | |
# Set the destination coordinates for TOC item | |
heading.top = pdfDoc.pages[i +1].rect.height | |
# Set TOC item text | |
textSegment = pdf.text.TextSegment() | |
textSegment.text = tocTitles[i] | |
segments = heading.segments.append(textSegment) | |
# Add heading to the TOC page | |
pageTOC.paragraphs.add(heading) | |
i += 1 | |
# Save document with TOC | |
pdfDoc.save("outputwithToc.pdf") | |
print ("Opeartion finished successfully") |
Det här exemplet visar hur man lägger till innehållsförteckning i PDF med Python. I det här exemplet genereras TOC-innehållet manuellt genom att generera en lista med strängar med hjälp av sidnumren. Du kan dock analysera filinnehållet och ställa in på samma sätt som standardinnehållsförteckningen där rubriker från PDF-innehållet används i innehållsförteckningen och länka dem till önskat innehåll i PDF-filen.
Det här ämnet har lärt oss hur man skapar PDF-innehållsförteckningar med Python. Om du är intresserad av att lägga till hyperlänkar i innehållet i en PDF-fil, se artikeln om hur man lägger till hyperlänk i PDF med Python.