c# - 为什么 PdfSharp 在网络链接周围创建边框?

标签 c# pdfsharp

我有以下功能可以使用 PdfSharp 创建网络链接:

    public static void AddWebLink(XGraphics gfx, PdfPage page, XFont font, string url, string text, int startX, int startY)
    {
        if (gfx == null)
            throw new ArgumentNullException("gfx");

        if (page == null)
            throw new ArgumentNullException("page");

        if (font == null)
            throw new ArgumentNullException("font");

        // Write out the text
        gfx.DrawString(text, font, XBrushes.Blue, new PointF(startX, startY));
        var stringSize = gfx.MeasureString(text, font);

        // Create the linked area
        // For some reason the Y of the rectangle needs to be startY minus the height
        startY -= (int)stringSize.Height;

        var rect = gfx.Transformer.WorldToDefaultPage(new XRect(startX, startY, stringSize.Width, stringSize.Height));
        var pdfRect = new PdfRectangle(rect);
        var annotation = page.AddWebLink(pdfRect, url);
        annotation.Opacity = 0; // Try and prevent it from rendering a box around the link in some viewers
    }

生成 PDF 后,在福昕阅读器中查看一切正常:

Foxit Image

但是,Adobe Acrobat Reader 10 和 11 在链接区域周围显示黑色细边框:

Acrobat http://dl.dropbox.com/u/6753359/acrobat-bad.PNG

不幸的是,由于 Acrobat Reader 更标准,因此要求它必须在其中看起来正确。

有人能告诉我为什么我的所有链接区域在 acrobat reader 中都有边框吗?


编辑: 我试图通过 annotation.Opacity = 0annotation.Color = XColor.FromArgb(255, 255, 255, 255) 使注释不可见;。前者不起作用(边框仍然出现),后者使边框变白,这不是 100% 起作用,因为它在某些文本行中产生了奇怪的东西(比如一条白线切断了 y、p 等的底部。 .).

最佳答案

这是一个已知问题。

可以在这里找到解决方案: http://forum.pdfsharp.net/viewtopic.php?p=6161#p6161

框架是 PDFsharp 中的一个错误。 Adobe Reader 10.0.3 之前不显示框架是一个错误。

更新:该错误已在很久以前修复,使用最新版本创建的链接周围将没有框架。

关于c# - 为什么 PdfSharp 在网络链接周围创建边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13196244/

相关文章:

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

c# - 在 MigraDoc 中将页码与右角对齐

c# - 如何使用相对文件路径和 PDFsharp 创建 PDF 文件链接?

c# - 事件处理程序中的异常管理实践

c# - .NET Core 的混合语言和子项目

c# - 从 bot framework v4 中的当前步骤转到下一个 Waterfall 步骤

c# - 如何使用linq获取字典对象的变量

c# - 命名参数的规则是什么?为什么?

asp.net-mvc - ASP.NET MVC PDFsharp 生成 PDF : cannot add font

c# - PDFsharp 找不到图像(找不到图像)