我有一个项目,需要在作为页眉一部分的图像中嵌入超链接。页眉正在自动复制到其他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(...);
另一个问题是,由于图像是第一个对象,它不是段落的一部分,因此段落引用出错(未定义(。
这个例子也来自2008年的一个论坛帖子,所以不确定这是否是最好的解决方案。
任何帮助都将不胜感激!
现在已经修复了!增加了第二段。