如何在不丢失格式的情况下从 PDF 复制文本?

Col*_*len 45 pdf

当我将 PDF 文件中的文本复制到文本编辑器中时,它最终会以多种方式被破坏。粗体和斜体等格式丢失;一段文本中的软换行符转换为硬换行符;即使不应该保留,将单词分成两行的破折号也会保留;单引号和双引号被替换为?迹象。

理想情况下,我希望能够从 PDF 复制文本并将格式转换为 HTML 代码,将“智能引号”转换为 " 和 ',并正确完成换行。有没有办法做到这一点?

fra*_*ous 57

首先,您必须了解什么是PDF。PDF 旨在模仿打印页面,并且它们被设计为输出格式,而不是输入格式。PDF 基本上是包含字符(单个字母或标点符号等)或图像的确切位置的地图。在大多数情况下,PDF 甚至不存储有关一个单词结束位置和另一个单词开始位置的信息,更不用说段落结尾的软中断与硬中断之类的信息了。

(最近的一些 PDF 确实存储了一些关于这些东西的信息,但这是一项新技术,你很幸运能找到这样的 PDF。即使你找到了,你的 PDF 查看器可能也不知道。)

无论如何,这取决于您的软件来实现某种“人工智能”,以仅从单个字符的位置中提取什么是单词、什么是段落等等。不同的软件会比其他软件做得更好,这也取决于 PDF 的制作方式。在任何情况下,你应该永远期待完美的结果。拥有输出 PDF 与拥有源文档不同。如果可以的话,尝试获得它要好得多。

您遇到这种问题的标准解决方案是使用 Adob​​e Acrobat Professional(昂贵的,而不是免费的阅读器)将 PDF 转换为 HTML。即使这样也不会得到完美的结果。

有一些免费软件可用于从 PDF 中提取一些格式完整的文本,但同样,不要指望完美的结果。参见,例如,calibre(可以转换为 RTF 格式)、pdftohtml/pdfreflowAbiWord 文字处理器(启用所有导入/导出插件)。还有一个用于 OpenOffice 的 PDF 导入插件。

但是请不要期望任何这些结果都是完美的。你在这里违背了原则。PDF 并不是一种可编辑的输入格式。

  • 5 年后的反馈:没有大的改进:我必须将其转换为 HTML(使用 acrobat x),然后将它的每一行插入到 MSword 表中。(保存 word 或 excel 或 txt 只是搞砸了一切,从 chrome 复制过去也根本不起作用)。仍在等待(非常)智能的软件。 (3认同)

小智 10

另一种选择是下载并开始使用免费的 pdf 查看器 Foxit(它很好)。然后您可以“另存为”并选择 .txt 将其转换为文本文件。这将保留所有格式。不知道你是否可以在 Adob​​e 中做同样的事情,因为我不久前在转换到 Foxit 时停止使用它。


Sim*_*mon 6

有一个非常好的在线工具叫做Sej-da。它涉及高级 PDF 操作。没有软件可以下载。由于它是一个新的在线工具,它目前仍处于测试阶段。它允许您从 PDF 中提取文本,并提供无数其他 PDF 功能

http://www.sejda.com/

2012 年 11 月 14 日修订版 3 对 sejda 函数进行了简短的视频回顾,可以在这里找到:

http://revision3.com/tzdaily/sejda-online-pdf


har*_*ini 5

用浏览器打开你的 PDF 文件(谷歌浏览器和火狐已经过测试),然后在那里复制你的文本。