Den här artikeln beskriver processen för att skapa innehållsförteckning i PDF med C#. Den har detaljerna för att ställa in utvecklingsmiljön, en lista med steg och en exempelkod för att lägga till innehållsförteckning i PDF med C#. Du kommer att lära dig alla konfigurationer för innehållsförteckningen inklusive text, hyperlänkar och anslutning till olika sidor från PDF-filen.
Steg för att lägga till innehållsförteckning till PDF med C#
- Ställ in miljön att använda Aspose.PDF for .NET för att lägga till en innehållsförteckning
- Ladda käll-PDF-filen document och infoga en sida i början för att lägga till innehållsförteckning
- Skapa objekt av klasserna TocInfo och TextFragment för att ställa in TOC-titeln
- Skapa rubriktext för att lägga till i innehållsförteckningen
- Kör en loop för att lägga till en innehållsförteckningsrubrik för varje sida i den inlästa PDF-filen
- Ställ in målsidan, dess koordinater och rubrikens text i varje iteration
- Spara PDF-filen med innehållsförteckning på första sidan
Dessa steg förklarar processen för att skapa klickbar innehållsförteckning i PDF med C#. Ladda PDF-filen, infoga en sida i början av dokumentet för innehållsförteckningen och använd TocInfo och TextFragment för att ställa in egenskaperna för innehållsförteckningen. För varje sida i källdokumentet lägger du till en hyperlänk i innehållsförteckningen, ställer in hyperlänkstexten och länkar en sida.
Kod för att lägga till klickbar innehållsförteckning till PDF med 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"); | |
} | |
} |
Detta kodexempel visar hur man lägger till innehållsförteckning i PDF med C#. I det här exemplet genereras TOC-innehåll manuellt genom att skapa en lista med strängar med hjälp av sidnumren. Du kan dock analysera filinnehållet och använda det 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.
Den här artikeln har lärt oss hur man skapar PDF-innehållsförteckningar med C#. För 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 C#.