我使用 PdfSharp/Migradoc 在 C# 中生成 PDF 文件,现在我尝试在 pdf 文件中添加文档链接,基本上是创建一个项目表,然后单击项目名称导航到另一个详细信息页面。我尝试使用 Migradoc Paragraph.AddHyperlink()
方法,下面是使用的代码
Paragraph p = cell.AddParagraph();
Hyperlink link = p.AddHyperlink(tmp_value, HyperlinkType.Bookmark);
link.AddText(tmp_value);
link.AddPageRefField(some_bookmark);
我的问题是这个导航页面是在稍后生成书签之前创建的,执行后,链接没有出现,只有错误消息,如“[item name] the bookmark [some_bookmark] is not defined”,任何人都可以突出显示我什么是正确的方法来实现这一目标?谢谢。
最佳答案
您需要像 paragraph.AddBookmark(tmp_value);
这样的东西作为跳转的目标。这就是错误消息告诉您的内容:未定义目标书签。
MigraDoc 分两次创建 PDF,目标在文档中的哪个位置都无关紧要。
link.AddPageRefField(some_bookmark);
将添加带有书签“some_bookmark”的页面的页码。这样做的目的是什么?
另见:
http://pdfsharp.net/wiki/HelloMigraDoc-sample.ashx
Hyperlink hyperlink = paragraph.AddHyperlink("Paragraphs");
hyperlink.AddText("Paragraphs\t");
hyperlink.AddPageRefField("Paragraphs");
第一行定义目标 - 在文档的其他地方用 AddBookmark
定义的字符串。
第二行给出链接中显示的文本。第三行向链接添加页码。
关于c# - 通过 Migradoc 在 pdf 中添加文档链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27617752/