【问题标题】:Globally change PDF's transparency?全局更改 PDF 的透明度?
【发布时间】:2016-06-16 15:53:33
【问题描述】:

我正在使用 PDFsharp 将一个 PDF 用作另一个 PDF 中的水印。这主要是工作。水印 PDF 放置在目标 PDF 中每一页内容的“后面”。但是,为了使生成的 PDF 清晰易读,水印内容需要部分透明(或屏蔽)。

如何使用 PDFsharp 全局调整 PDF 的透明度?

【问题讨论】:

  • 根据这个问题做不到:stackoverflow.com/questions/16451008/…
  • @Bassie 不,答案清楚地表明“我不知道如何”。这与“不能做”不同。鉴于 PDF 可以被视为一系列绘图操作,至少似乎可以更改与这些操作相关的颜色的透明度。我已经深入研究了 API,甚至找不到从哪里开始。

标签: c# pdf watermark pdfsharp


【解决方案1】:

您可以查看文档here,了解有关使用PdfSharp 在 pdf 上添加水印的详细信息。来自链接:

注意:从技术上讲,此示例中的水印是简单的图形输出。它们与 PDF 1.5 中引入的水印注释无关。

这里是another link,它声称有 3 种不同的应用水印的方法 - 您尝试过其中任何一种吗?看起来您可能需要使用MigraDocsPdfSharp 来实现此目的。

您没有指定水印的外观 - 它是否需要支持您可以创建的任何自定义 pdf,或者只是页面上的一些文本?使用我发布的链接,后者肯定看起来可行。

如果你想创建自定义对象,也许你可以查看this link (Xforms),它谈到了绘制透明的自定义形状:

此示例展示了如何从头开始创建 XForm 对象。您可以将这样的对象视为模板,一旦创建,就可以在 PDF 文档的任何位置频繁绘制。

我认为可能不是拥有 2 个 PDF(1 个主文件和 1 个水印),而是拥有 1 个 pdf,然后使用内置方法或通过创建 XForm 对象创建水印可能会更容易并将其粘贴在 pdf 上。

【讨论】:

  • 这主要符合我自己的研究。我错过了 Xforms 的部分内容,但似乎它们使用的透明胶片是动态创建的,而不是应用于预先存在的元素或文档。我怀疑你说得对,PDFsharp/MigraDoc 可能没有我正在寻找的功能。
  • @Ouroborus 刚刚发现了这个问题,似乎它可能会有所帮助:stackoverflow.com/q/4226745/4671754
  • 很遗憾,iTextPdf 的PdfStamper 也没有能力操纵其内容的透明度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-04
  • 2012-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-05
  • 1970-01-01
相关资源
最近更新 更多