仅从pdf中提取黑色文本



我有一堆pdf文件,其中包含歌词(黑色字体(和和弦(蓝色字体(,就在字母之间。

是否可以只提取黑色字体的文本,而忽略其他颜色的所有文本?

您可以在Ghostscript中付出相当大的努力来做到这一点,但这意味着要专门为任务更改PDF解释器(绝非易事(。

你需要知道你想要去掉(或者保留(的确切颜色。然后,您可以修改在/ghostpdl/Resource/Init/pdf_ops.ps中定义的每个文本显示运算符(TJ、TJ、'和"(。您首先检查当前颜色,如果您想要它,则继续处理文本,否则弹出字符串并返回而不进行处理。

请注意,您需要重新生成Ghostscript,或者通过使用命令行上的-I开关告诉它使用修改后的文件。

运行原始PDF文件作为输入,选择pdfwrite设备并创建一个缺少文本的新文件。

如果以下文本依赖于前一操作所移动的当前点,则这可能会产生意外结果。在这种情况下,你可以试着在画之前把颜色改成白色。这本身就有缺点;如果页面下面不是白色的,文本仍然会显示,复制和粘贴器仍然会拾取白色文本,即使它是不可见的。

最新更新