我使用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);
我的问题是这个导航页面是在以后生成书签之前创建的,执行后,链接没有出现,只有“[项目名称]书签[some_bookmark]未定义”的错误信息,任何人都可以突出显示我有什么办法来解决这个问题?感谢。
答案 0 :(得分:3)
你需要像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
定义的字符串。
第二行提供链接中显示的文本。第三行为链接添加页码。