我使用PDFnet(版本9.308007)将pdf文件转换为文本格式. 最近需要从Ubuntu 16.04升级到Ubuntu 20.04. 问题是,当在Ubuntu 20.04上使用PDFNet进行转换时,单词在输出文件中的顺序发生了变化. For ex.:

Ubuntu 16.04

‘\r\n-$14,309.29\r\n付款-2022年12月19日-谢谢;

Ubuntu 20.04

‘付款-2022年12月19日-谢谢-14,309.29美元\r\n’

我需要完全按照第一个变种(Ubuntu 16.04)中的单词顺序.如果至少有一些线索可以进一步挖掘,我们将不胜感激.

推荐答案

假设不是PDF中的所有字体都是嵌入的,那么问题是两个系统上安装了不同的字体,并且当PDFNet进行字体替换(对于非嵌入字体)时,这些其他字体具有不同的度量和字形.字体度量和字形的这种细微差异可能会影响文本运行检测,并导致不同的文本提取输出.

更新Ubuntu 20系统,使其具有与Ubuntu 16系统相同的字体,这将导致相同的字体替换,从而产生相同的文本提取顺序.

Ruby相关问答推荐

ruby 3.1:使用方法(:名称)简化代码莫名其妙地失败

运行跳过的RSpec测试,如果通过则失败

Ruby 中使用的-S标志是什么?

ruby 组合哈希相关键

Ruby:这两种混入模块方法是否等效?

当Ruby `Complex` 类除了`==` 之外没有任何关系运算符时,它的祖先怎么能有`Comparable`?

RVM 和 OpenSSL 的问题

get.chomp() 与 STDIN.gets.chomp() 有什么区别?

需要Ruby

Ruby访问嵌套函数中的外部变量

符号到字符串问题

Ruby Koan 151 引发异常

to_a 和 to_ary 有什么区别?

`respond_to?` 与 `respond_to_missing?`

确定一个值是否存在于哈希数组中

Sublime Text 2 控制台输入

判断字符串是否为空的Ruby方法?

何时使用在 Ruby 中启动子进程的每种方法

使用 RSpec 测试哈希内容

Ruby哈希中的条件键/值