Я использую PdfSharp/Migradoc для создания PDF-файла в C#, теперь я попытался добавить ссылку документа внутри файла pdf, в основном это создать таблицу элементов и щелкнуть имя элемента для навигации на другую страницу подробностей. Я пытался использовать метод Migradoc Paragraph.AddHyperlink(), ниже это код, используемыйДобавление ссылки на документ в формате PDF от Migradoc
Paragraph p = cell.AddParagraph();
Hyperlink link = p.AddHyperlink(tmp_value, HyperlinkType.Bookmark);
link.AddText(tmp_value);
link.AddPageRefField(some_bookmark);
Моя проблема эта страница навигации создается до закладки генерируются позже, после выполнения, то ссылка не появилась и только сообщение об ошибке вроде «[название элемента], закладка [some_bookmark] не определена», кто-нибудь может подчеркнуть, что это правильный способ узнать об этом? Благодарю.
Спасибо за объяснение, поэтому целевая страница и ссылка должны указывать на одну и ту же закладку, мой следующий вопрос: должна ли быть определена закладка, используемая в гиперссылке, перед созданием ссылки? –
Цель должна существовать при визуализации PDF. Когда вы создаете ссылку, MigraDoc просто сохраняет строку, которую вы передаете, без каких-либо проверок. Вам не нужно создавать цель, прежде чем добавлять ссылку (связанный образец MigraDoc также делает это в этом порядке). –
Привет @ThomasH, я понимаю, где моя проблема, я создаю таблицу с использованием MigraDoc, и она пересекает несколько страниц, на каждой странице я сделал RenderPage(), в противном случае она будет отображаться пустым в окончательном pdf (я не знаю, почему), так что во время рендеринга проблема не может найти закладки, используемые в определении ссылок, поскольку мои закладки будут определены только на последующих страницах, можете ли вы дать мне некоторое представление о решении этой проблемы? Благодарю. –