小编Het*_*ote的帖子

使用iTextSharp删除PDF不可见对象

是否可以使用iTextSharp从PDF文档中删除不可见(或至少不显示)的对象?

更多细节:

1)我的来源是一个PDF页面,其中包含图像和文本(可能是一些矢量图)和嵌入字体.

2)有一个界面来设计多个"裁剪框".

3)我必须生成一个新的PDF,其中只包含裁剪框内的内容.必须从结果文件中删除任何其他内容(事实上,我可能会接受内部一半和一半外部的内容,但这不是理想的,无论如何都不应该出现).

到目前为止我的解

我已经成功开发了一个创建新临时文档的解决方案,每个文档都包含每个裁剪框的内容(使用writer.GetImportedPage和contentByte.AddTemplate到一个与裁剪框大小完全相同的页面).然后我创建最终文档并重复该过程,使用AddTemplate方法在最后一页中定位每个"裁剪页面".

该解决方案有两大缺点:

  • 文件的大小是[原始尺寸]*[裁剪框数],因为整个页面都在那里,标记了很多次!(看不见,但它就在那里)
  • 通过在Reader中选择所有(CTRL + A)并粘贴,仍然可以访问不可见的文本.

所以,我认为我需要遍历PDF对象,检测它是否可见,并删除它.在撰写本文时,我正在尝试使用pdfReader.GetPdfObject.

谢谢您的帮助.

c# pdf itextsharp

31
推荐指数
1
解决办法
4579
查看次数

标签 统计

c# ×1

itextsharp ×1

pdf ×1