iTextSharp:更改现有PDF中对象的顺序

时间:2016-03-08 21:08:55

标签: itextsharp

我正在处理一个公司报告生成系统,该系统生成带有印章和签名的文档。

令人遗憾的是,系统无法将图像放在现有文本和表格下方,因此jpg-stamps重叠文本看起来非常奇怪且不切实际。系统不支持具有透明度通道的图像。

我正在尝试通过首先将报告打印到PDF然后使用iTextSharp操纵将所有这些图像发送回(在文本和其他矢量内容下方)的图像来解决问题。最后,结果将发送到硬件打印机。

所有图像都存储在资源(XObjects)中。

问题在于我不知道如何使用iTextSharp操作PDF对象z-order(创建顺序)。

当前版本(c#COM-object / assembly)的工作原理如下:

  1. 使用parser.ProcessContent()
  2. 在页面循环中构建对现有图像(引用,图像字节,图像CTM)的引用列表
  3. 对找到的任何参考文献执行KillIndirect()
  4. 将其替换为writer.AddDirectImageSimple()和空白图片(使用透明蒙版)
  5. 在GetUnderContent模式下,使用压模将先前存储的图像字节插入图像(将CTM考虑在内)。
  6. 我想知道是否有一个更简单的解决方案,没有空白图像,多余的参考等。

0 个答案:

没有答案