无法从(视觉)文本填充的 pdf 中提取任何文本
Unable to extract any text from a (visually-)text-filled pdf
我已经尝试了大部分的各种命令行工具,perl 的 CPAN 模块,还有一些东西(Apache 的 pdf 东西,记不起名字了)。这显然是 pdf 制作方式的一个问题,如果它们只包含一些字符的子字体,并且没有将这些正确映射到 unicode 代码点,pdf 软件可以呈现文本,但没有办法有意义地提取它。
但是,有一个非自由的命令行工具似乎能够(以某种方式)这样做。
http://www.pdf-tools.com/pdf20/en/products/pdf-manipulation/pdf-extract/
它只有在你使用 -s 开关时才有效,文档对此有如下说明:
4.2.15 -s Replace Symbolic Characters
Replace Symbolic Characters -s
Replace symbolic character from the Unicode custom range (0xF000 to 0xF0FF) with WinAnsi codes (0x00 to 0xFF).
Note: It is generally recommended to enable this option.
这个工具不适合我的目的。它需要许可证密钥,甚至不在网站上报价。我正在做一个免费项目,这让我无法完成。
有没有什么方法可以辨别他们使用什么策略来检索隐藏在所有其他工具中的文本?我刚刚错过的免费工具中是否有一些类似的功能?
很遗憾,您没有提供示例 pdf。
考虑到使文本可提取的 -s
开关的描述,但是,看起来好像在有问题的 pdf 中 有一个到 Unicode 的映射而不是常规代码点将字形 映射到私人使用范围 从 U+F000 开始,只需 添加 0xf000 到它们的实际代码点值。
因此,相信此映射的文本提取器应该提取 U+F000..U+F0FF 范围内的 unicode 字符(为此,它们可能必须配置为使用足够的 Unicode 编码输出结果,而不是例如 ASCII或 ANSI)。
您所要做的就是获取此输出并将 U+F0** 字符替换为 U+00**。
我已经尝试了大部分的各种命令行工具,perl 的 CPAN 模块,还有一些东西(Apache 的 pdf 东西,记不起名字了)。这显然是 pdf 制作方式的一个问题,如果它们只包含一些字符的子字体,并且没有将这些正确映射到 unicode 代码点,pdf 软件可以呈现文本,但没有办法有意义地提取它。
但是,有一个非自由的命令行工具似乎能够(以某种方式)这样做。
http://www.pdf-tools.com/pdf20/en/products/pdf-manipulation/pdf-extract/
它只有在你使用 -s 开关时才有效,文档对此有如下说明:
4.2.15 -s Replace Symbolic Characters
Replace Symbolic Characters -s
Replace symbolic character from the Unicode custom range (0xF000 to 0xF0FF) with WinAnsi codes (0x00 to 0xFF).
Note: It is generally recommended to enable this option.
这个工具不适合我的目的。它需要许可证密钥,甚至不在网站上报价。我正在做一个免费项目,这让我无法完成。
有没有什么方法可以辨别他们使用什么策略来检索隐藏在所有其他工具中的文本?我刚刚错过的免费工具中是否有一些类似的功能?
很遗憾,您没有提供示例 pdf。
考虑到使文本可提取的 -s
开关的描述,但是,看起来好像在有问题的 pdf 中 有一个到 Unicode 的映射而不是常规代码点将字形 映射到私人使用范围 从 U+F000 开始,只需 添加 0xf000 到它们的实际代码点值。
因此,相信此映射的文本提取器应该提取 U+F000..U+F0FF 范围内的 unicode 字符(为此,它们可能必须配置为使用足够的 Unicode 编码输出结果,而不是例如 ASCII或 ANSI)。
您所要做的就是获取此输出并将 U+F0** 字符替换为 U+00**。