【问题标题】:How can I add a Hyperlink to a Header image using MigraDoc and C#?如何使用 MigraDoc 和 C# 将超链接添加到标题图像?
【发布时间】: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 年的论坛帖子,因此不确定它是否是最佳解决方案。

任何帮助将不胜感激!

【问题讨论】:

    标签: c# pdf migradoc


    【解决方案1】:

    现在已修复!添加了第二段。

    【讨论】:

      猜你喜欢
      • 2011-03-03
      • 1970-01-01
      • 2016-11-23
      • 2013-04-06
      • 2017-08-06
      • 2012-10-31
      • 2021-12-16
      • 2017-05-02
      • 2017-02-20
      相关资源
      最近更新 更多