c# - 通过 Migradoc 在 pdf 中添加文档链接

标签 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);

我的问题是这个导航页面是在稍后生成书签之前创建的,执行后,链接没有出现,只有错误消息,如“[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/

相关文章:

fonts - 适用于 azure 1.50 的 PDFSharp 私有(private)字体

c# - PDFsharp,在 PDF 中显示 JPG 时出错

c# - 在 C# 中获取两次之间的时间跨度?

C#:来自字典语法错误的 LINQ 查询,尽管在 SO 中重复使用

php - 通过 PHP 为现有 .pdf 文件添加背景水印到 pdf 文件?

Java : BOLD with iText in PDF Generation doesn't work correctly

asp.net-mvc - 在 MVC 中将 PDF(存储为 BLOB)显示为图像

c# - 按钮和数据触发器不起作用

c# - 如果 BIGENDIAN 在编译时未解析,为什么它是一个指令?

c# - 在 MigraDoc-WPF 中使用 section.AddImage() 后释放对图像文件的锁定