我有一组包含扫描图像的PDF文件,这些文件然后被OCR了。文本仍然以“图形”显示 - 换句话说,扫描的图像文本仍然存在 - 并且OCR文本“在图像后面”。这允许搜索文档,复制文本等。删除PDF中的所有文本
由于OS X中存在一个令人讨厌(现在已解决)的问题,某些OCR文本已损坏。因此,我想从PDF中删除文本,然后重新OCR文档。对于许多不平凡的原因,我不想停下“将文档重新打印为PDF”路线:我宁愿尽量尝试修复文档。
因为我找不到一个PDF实用程序来完成我所要求的功能,而且我有一些编码经验,所以我决定卷起袖子尝试敲击一下.NET。 (C#)代码来删除文本。
我已经看过iTextSharp,我可以打开一个示例文档,但是我卡住的地方是找到(并因此删除)文档中的文本。我查看过各种不同的PDF规格文档,而且我很快就会迷失方向,而且我看过的iTextSharp的所有示例都处理向文档添加对象,图形或文本的问题。总而言之,我想要做的就是找到所有的文本块并将其删除,同时只留下图形(最初的JPG)图像。任何人都可以告诉我,我应该寻找什么样的对象类型,以及我应该迭代哪个层次结构来实现这个目标?
看到这篇文章:http://stackoverflow.com/a/12687519/231316。尽管iTextSharp没有任何直接的内置帮助程序,但它是完全可能的。您需要熟悉PDF语法,并基本上阅读文档并选择想要保留和/或删除的内容。我做了类似的工作,但是布鲁诺指出,有许多边缘案例需要注意。如果你的文本总是在一个专门的OCG“层”上,那么你也许可以使用http://stackoverflow.com/a/17718641/231316 –