当我将文本从 PDF 文件复制到文本编辑器中时,文本会以各种方式被破坏。粗体和斜体等格式会丢失;文本段落中的软换行符会转换为硬换行符;用于将单词拆分为两行的破折号会保留下来,即使它们不应该保留;单引号和双引号会替换为 ? 符号。
理想情况下,我希望能够从 PDF 复制文本并将格式转换为 HTML 代码,将“智能引号”转换为“和',并正确完成换行。有什么办法可以做到这一点吗?
答案1
首先,你必须了解 PDF 是什么。PDF 旨在模仿印刷页面,并且其设计目的是仅有的作为输出格式,而不是输入格式。PDF 基本上是一张包含字符(单个字母或标点符号等)或图像的精确位置的地图。在多数情况下,PDF 甚至不存储有关单词一个段落结束,另一个段落开始,更不用说段落结尾的软断行与硬断行之类的东西了。
(最近的一些 PDF 确实存储了一些有关此内容的信息,但这是一项新技术,如果能找到这样的 PDF,那就算幸运了。即使找到了,您的 PDF 查看器也可能不知道。)
无论如何,这取决于您的软件是否能够实现某种“人工智能”,仅从单个字符的位置中提取出什么是单词、什么是段落等等。不同的软件会比其他软件做得更好,这也取决于 PDF 的制作方式。无论如何,您应该绝不期望获得完美的结果。输出 PDF 与源文档不同。如果可以,最好尝试获得输出 PDF。
解决此类问题的标准方法是使用 Adobe Acrobat Professional(价格昂贵,不是免费阅读器)将 PDF 转换为 HTML。即使这样也无法获得完美的结果。
有免费软件可用于从 PDF 中提取文本,并保留部分格式,但同样,不要期望获得完美的结果。例如,calibre(可以转换为 RTF 格式),pdftohtml/pdfreflow或者AbiWord 文字处理器(启用所有导入/导出插件)。还有一个适用于 OpenOffice 的 PDF 导入插件。
但请不要期望这些结果都是完美的。你在这里违背了常理。PDF 并不是可编辑的输入格式。
答案2
另一个选择是下载并开始使用免费的 PDF 查看器 Foxit(它很好)。然后您可以“另存为”并选择 .txt 将其转换为文本文件。这将保留所有格式。不知道您是否可以在 Adobe 中执行相同操作,因为我转换到 Foxit 后不久就停止使用它了。
答案3
有一个很好的在线工具叫塞达。它处理高级 PDF 操作。无需下载软件。因为它是新的在线工具目前仍处于测试阶段。它允许您从 PDF 中提取文本,并提供大量其他 PDF 功能
2012 年 11 月 14 日,第 3 次修订版对 sejda 功能进行了简短的视频回顾,可在此处找到:
答案4
您可以为此使用 Adobe Acrobat Pro。
对于表格:Acrobat 9/10 有一个选择表格功能。使用 Acrobat X,您只需单击另存为 > 电子表格 > Excel。它甚至可以将页面连接成一个长电子表格。很棒的功能。
对于文本:导出到 MS Word 时也存在类似的功能。另存为 > Word > Word Doc。
资料来源: