通过Migradoc添加pdf文档链接

时间:2014-12-23 09:43:03

标签: c# pdf pdfsharp migradoc

我使用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]未定义”的错误信息,任何人都可以突出显示我有什么办法来解决这个问题?感谢。

1 个答案:

答案 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定义的字符串。 第二行提供链接中显示的文本。第三行为链接添加页码。