PDFSharp: закладки, добавленные на первую страницу каждого PDF, заканчиваются ссылками на первую страницу объединенного PDF - PullRequest
0 голосов
/ 13 мая 2019

Я использую PDFSharp, чтобы добавить закладку на первую страницу PDF-документа для клиента. Клиент предоставляет несколько PDF-документов на разных страницах, и каждый PDF-файл представляет собой один счет на человека. Клиент попросил меня указать номер счета в закладке на первой странице, чтобы они могли объединить их и обработать один PDF-файл со многими счетами, используя закладку в качестве средства для идентификации номера счета.

Я успешно создал закладку, используя следующий код, но когда клиент объединяет файлы вместе с помощью Ghostscript, все закладки назначаются странице 1 в объединенном PDF. Когда они объединяют другие PDF-файлы из другой системы, которая, по сути, делает то же самое, закладки отображаются в объединенном файле по желанию. Я не уверен, что они делают по-другому, чтобы сделать эту работу.

Как получить правильную настройку закладки, чтобы она сохранялась при комбинировании?

            string file = "c:/test.pdf";
            string accountNumber = "001234";

            using (PdfDocument doc = PdfReader.Open(file, PdfDocumentOpenMode.Modify))
            {               
                PdfPage page = doc.Pages[0];
                doc.Outlines.Add(accountNumber, page);
                doc.Save(file);
            }

1 Ответ

0 голосов
/ 14 мая 2019

Я понял это.Хотя это избыточно, поскольку второй параметр в Outlines.Add () устанавливает страницу назначения, мне просто нужна была следующая строка:

outline.DestinationPage = page;
...