我正在处理一个公司报告生成系统,该系统生成带有标记和签名的文档 .
令人遗憾的是,系统无法将图像放置在现有文本和表格下方,因此jpg-stamps重叠文本看起来非常奇怪且不切实际 . 系统也不支持具有透明度通道的图像 .
我试图通过首先将报告打印到PDF然后使用iTextSharp操纵将所有图像发送回来(在文本和其他矢量内容下面)来修复问题 . 最后将结果发送到硬件打印机 .
所有图像都存储在资源(XObjects)中 .
问题是我不知道如何使用iTextSharp操作PDF对象z-order(创建顺序) .
当前版本(c#COM-object / assembly)的工作原理如下:
-
使用parser.ProcessContent()在页面循环中构建对现有图像(引用,图像字节,图像CTM)的引用列表
-
对找到的任何引用执行KillIndirect()
-
用writer.AddDirectImageSimple()和空白图像(带透明蒙版)替换它们
-
在GetUnderContent模式下,将先前存储的图像字节作为图像(将CTM考虑在内)与压模一起插入 .
我想知道是否有一个更简单的解决方案没有空白图像,多余的参考等 .