【发布时间】:2020-10-28 18:22:24
【问题描述】:
我有一个项目需要在作为标题一部分的图像中嵌入超链接。页眉会自动复制到其他 PDF 页面。
为了清楚起见,我想生成 PDF,然后单击图像,浏览器选项卡将打开并显示一个网站。 我不想从网站上提取图像并将其嵌入到我的 PDF 中。
图像是文档中的第一个对象。
否则我的 PDF 工作得很好。
这是我获取图像并显示它的一些代码:
bmp.Save(combinesfinalpath); // Save the Image
// Retrieve the Image and add to the Header
MigraDoc.DocumentObjectModel.Shapes.Image image = sec.Headers.Primary.AddImage(@"C:\Users\" + userName + @"\" + "AppData" + @"\" + "Roaming" + @"\" + "PN" + @"\" + "PH2.png");
//Adjust the Image to fit page
image.Height = "3.0cm";
image.Width = "16.0cm";
image.LockAspectRatio = true;
// Start Adding Header Text
sec.Headers.Primary.AddParagraph(); // insert blank paragraph
Paragraph paragraph = sec.Headers.Primary.AddParagraph();
paragraph.Format.Font.Color = Colors.Red;
paragraph.Format.Font.Size = "9";
paragraph.Format.Alignment = ParagraphAlignment.Right;
paragraph.AddFormattedText("Website | Facebook | Instagram ", TextFormat.Bold);
....code continues
纯文本的超文本示例相当容易,但如果使用标题图像,则很难找到。
我确实找到了这个,但该示例没有将图像作为标题的一部分:
Hyperlink hyperlink = paragraph.AddHyperlink(str, hyperlinkType.Web)
hyperlink.AddImage(...);
另一个问题是,由于 Image 是第一个对象,它不是段落的一部分,所以段落引用错误(未定义)。
该示例也来自 2008 年的论坛帖子,因此不确定它是否是最佳解决方案。
任何帮助将不胜感激!
【问题讨论】: