Laden...

PDF Bookmarks hinzufügen und an Seite binden

Erstellt von spiegelbirke vor 5 Jahren Letzter Beitrag vor 5 Jahren 931 Views
S
spiegelbirke Themenstarter:in
1 Beiträge seit 2018
vor 5 Jahren
PDF Bookmarks hinzufügen und an Seite binden

Hallo,
ich habe folgenden Code:


using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;


namespace WindowsFormsApp1
{
    class Class1
    {
        public void MergePDFs()
        {
            String[] source_files = Directory.GetFiles(@"\Displays");
            String result = "C:\\result.pdf";
            string[] fileName = new string[source_files.Length];
            int j;
            
            j = 0;
            foreach (string name in source_files)
            {
                fileName[j] = Path.GetFileName(name);
                j = j + 1;
            }

            //create Document object
            Document document = new Document();
            //create PdfCopy object
            PdfCopy copy = new PdfCopy(document, new FileStream(result, FileMode.Create));
            //open the document
 
            document.Open();

            //PdfReader variable
            PdfReader reader;

            //Seite 1 Deckblatt
            reader = new PdfReader(@"C:\Deckblatt.pdf");
            Chapter chapter0 = new Chapter(new Paragraph("Vpack Standards Katalog"), 0);
            document.Add(chapter0);
            copy.AddPage(copy.GetImportedPage(reader, 1));
           
            //Seite 2 InhaltsverzeichnisKategorien
            reader = new PdfReader(@"C:\nhaltsverzeichnis.pdf");
            Chapter chapter1 = new Chapter(new Paragraph("Kategorien"), 1);

            for (int i = 0; i < source_files.Length; i++)
            {
                Section section1 = chapter1.AddSection(20f, fileName[i], 2);
         
            }
            
            document.Add(chapter1);
            copy.AddPage(copy.GetImportedPage(reader, 1));


            for (int i = 0; i < source_files.Length; i++)
            {
                
                reader = new PdfReader(source_files[i]);
                //merge combine pages
                for (int page = 1; page <= reader.NumberOfPages; page++)
                    copy.AddPage(copy.GetImportedPage(reader, page));

            }

            document.Close();

        }

    }
}

Ich bekomme es leider nicht hin, die childs(sections) der Bookmarks auf die entsprechenden Seite zu verlinken. Alle Bookmarks stehen für eine gleiche Seite.

Kann mir jemand helfen?