Dit artikel beschrijft het proces om een inhoudsopgave te maken in PDF met behulp van C#. Het bevat de details om de ontwikkelomgeving in te stellen, een lijst met stappen en een voorbeeldcode om een inhoudsopgave in PDF toe te voegen met behulp van C#. U leert alle configuraties voor de inhoudsopgave, inclusief de tekst, hyperlinks en connectiviteit met verschillende pagina’s uit het PDF-bestand.
Stappen om inhoudsopgave aan PDF toe te voegen met C#
- Stel de omgeving in om Aspose.PDF for .NET te gebruiken om een inhoudsopgave toe te voegen
- Laad de bron-PDF document en voeg aan het begin een pagina in voor het toevoegen van inhoudsopgave
- Maak objecten van TocInfo- en TextFragment-klassen voor het instellen van de TOC-titel
- Maak kopteksten die u aan de inhoudsopgave kunt toevoegen
- Voer een lus uit om een TOC-kop toe te voegen aan elke pagina in de geladen PDF
- Stel de bestemmingspagina, de coördinaten en de tekst van de kop in elke iteratie in
- Sla het uitgevoerde PDF-bestand op met TOC op de eerste pagina
In deze stappen wordt het proces uitgelegd om een klikbare inhoudsopgave in PDF te maken met behulp van C#. Laad het PDF-bestand, voeg een pagina in aan het begin van het document voor de inhoudsopgave en gebruik TocInfo en TextFragment om de kenmerken van de inhoudsopgave in te stellen. Voeg voor elke pagina in het brondocument een hyperlink toe in de inhoudsopgave, stel de hyperlinktekst in en koppel een pagina.
Code om klikbare inhoudsopgave aan PDF toe te voegen met C#
using System; | |
using System.Collections.Generic; | |
using Aspose.Pdf; | |
using Aspose.Pdf.Text; | |
class Program | |
{ | |
static void Main(string[] args) // Table of content added in PDF | |
{ | |
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.Pages.Count; | |
// Insert a page for table of contents | |
Page pageTOC = inputDoc.Pages.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.TextState.FontSize = 20; | |
// Set the title for Table of contents | |
tocInfo.Title = title; | |
pageTOC.TocInfo = tocInfo; | |
// Create a list of strings for TOC | |
List<string> tocTitles = new List<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.TocPage = pageTOC; | |
heading.Segments.Add(textSegment); | |
// Set the destination page for the heading object | |
heading.DestinationPage = inputDoc.Pages[i + 2]; | |
// Set the destination coordinates for TOC item | |
heading.Top = inputDoc.Pages[i + 2].Rect.Height; | |
// Set TOC item text | |
textSegment.Text = tocTitles[i]; | |
// Add heading to the TOC page | |
pageTOC.Paragraphs.Add(heading); | |
i += 1; | |
} | |
// Save PDF Document | |
inputDoc.Save("TOC.pdf"); | |
Console.WriteLine("TOC added successfully"); | |
} | |
} |
Dit codevoorbeeld laat zien hoe u een inhoudsopgave in PDF kunt toevoegen met C#. In dit voorbeeld wordt de TOC-inhoud handmatig gegenereerd door een lijst met tekenreeksen te maken met behulp van de paginanummers. U kunt de inhoud van het bestand echter ontleden en op dezelfde manier gebruiken als de standaardinhoudsopgave, waarbij koppen uit de PDF-inhoud in de inhoudsopgave worden gebruikt en deze koppelen aan de gewenste inhoud in het PDF-bestand.
Dit artikel heeft ons geleerd hoe we een PDF-inhoudsopgave kunnen maken met C#. Als u hyperlinks wilt toevoegen aan de inhoud van een PDF-bestand, raadpleegt u het artikel op hoe u een hyperlink in PDF toevoegt met C#.