【问题标题】:Extracting only black text from a pdf从pdf中仅提取黑色文本
【发布时间】:2018-11-13 11:33:45
【问题描述】:

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

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

【问题讨论】:

    标签: pdf ghostscript text-extraction


    【解决方案1】:

    您可以通过相当大的努力在 Ghostscript 中执行此操作,但这意味着专门针对该任务更改 PDF 解释器(绝非易事)。

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

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

    运行原始 PDF 文件作为输入,选择 pdfwrite 设备并创建一个新文件,其中文本将丢失。

    如果后面的文本依赖于前面操作移动的当前点,这可能会产生意想不到的结果。在这种情况下,您可以尝试在绘制之前将颜色更改为白色。这本身就有缺点;如果页面不是白色,文本下方仍会显示,复制和粘贴仍会拾取白色文本,即使它不可见。

    【讨论】:

      猜你喜欢
      • 2015-08-17
      • 2023-02-02
      • 1970-01-01
      • 1970-01-01
      • 2018-07-25
      • 2019-12-13
      • 2023-04-06
      • 1970-01-01
      相关资源
      最近更新 更多