将PDF转换为txt,同时还识别.txt文件中的文本,而使用PDF格式时带下划线的内容

时间:2018-11-04 23:46:51

标签: node.js pdf pdfparser

我正在研究Node.js项目。我的任务是将PDF转换为.txt文件。最初,我是使用pdf-parse软件包将PDF转换为.txt文件。那很容易,而且效果很好。

但是,我刚刚发现PDF带有一些带下划线的文本。带下划线的文本表示带下划线的内容是“不是最新的”。例如,姓名下划线可能表示该人当前不在公司工作。在不同的PDF中,下划线表示不同的意思,因此我需要在txt文件中指出PDF中何时用下划线表示。目前,我别无选择,只能输出txt文件,因为这些文件最终会馈送到翻译API,并且翻译API与txt文件配合使用效果最佳。我需要以某种方式在.txt文件中指出PDF格式时带下划线的内容。

这就是我尝试过的。我尝试将PDF转换为RTF,然后解析RTF文件以找到\ul,这表明下划线已开始。找到\ul后,我将其替换为某些内容,以表明该内容曾经带有下划线。 (之后,我将RTF文件转换为.txt文件。)

例如:* @日本航空机リース株式会社(* @表示原始PDF中带有下划线的内容)。

问题是有时输出中包含以下内容:

* @山* @ * @下* @ * @洋* @ * @司

我需要的是这样的东西:

* @山下洋司(PDF中仅存在1个“特殊字符”来表示下划线)

似乎从PDF到RTF的转换(使用CloudConvert API)有时会在整个带下划线的单词/短语之前仅使用1 \ul来强调单词/短语,然后有时会插入\ul标签在单词/短语的每个字符之前,这意味着在尝试替换每个\ul时给我带来麻烦。这适用于RTF文件,无论哪种方式都使下划线在RTF中显示相同。但是,一旦我尝试将\ul标签替换为另一个符号/字符,然后转换为txt,上述问题就会浮出水面。

我的问题是:如何将PDF转换为文本(.txt)文件,同时以某种方式在.txt文件中指示原始PDF中的某些文本/单词/短语带有下划线?我可以逐步执行此操作。不必一步一步。

0 个答案:

没有答案