基本上,我正在将 PDF 转换为文本,然后使用 Python 中的库分析和剪切部分文本。Python“剪辑”实际上并没有将文本切割成单独的文件,它只是具有用于字符串提取的开始字符和结束字符位置。例如:
the quick brown fox jumped over the lazy dog
我的 python 代码可能会通过指定 4 、 9 来“快速”删除。然后我将 C# 用于 GUI 程序并尝试采用 Python 分配的这些值,并且它可以工作......在大多数情况下。将 pdf 转换为文本文件的光学字符识别程序似乎包含一些奇怪的 UTF 字符,这将改变 C# 端的计数。
PDF-txt 转换奇数字符字符包括“fi”字符,而不是“f”和“i”字符(可能还有其他字符,它们是大文件。)现在这不是问题,除了 C# 说这是一个字符,Python(以及 Notepad++)考虑这 3 个字符位置。
C#:“fi”长度 = 1 个字符。
Python/Notepad++:“fi”长度 = 3 个字符。
由于字符数的不同,这最终给了我一个偏移剪辑。就像我在 python (linux) 中运行它并尝试输出其完美的剪辑时所说的那样,然后我将文本文件传输到 Windows 和 Notepad++ 确认它们是正确的位置。C# 实际上只是将“fi”计为一个字符,而 Notepad++ 以及 Python 出于某种原因将其计为 3 个字符。
我需要一种方法来弥合 Python 端或 C# 端的这种差异。