如何从PDF中复制文本而不丢失格式化?
当我从PDF文件中复制文本到文本编辑器中时,它最终会以各种方式被弄脏。像粗体和斜体这样的格式化被丢失了;文本段落内的软行断句被转换为硬行断句;破折号在两行以上的单词被保留,即使他们不应该被保留;单引号和双引号被替换为? 有什么方法可以做到这一点吗?
当我从PDF文件中复制文本到文本编辑器中时,它最终会以各种方式被弄脏。像粗体和斜体这样的格式化被丢失了;文本段落内的软行断句被转换为硬行断句;破折号在两行以上的单词被保留,即使他们不应该被保留;单引号和双引号被替换为? 有什么方法可以做到这一点吗?
首先,你必须了解什么是PDF。PDF的设计是为了模仿打印出来的页面,它们被设计成只作为一种输出格式,而不是输入格式。在大多数情况下,PDF甚至不存储关于一个字的结束和另一个字的开始的信息,更不用说像软休止符和硬休止符这样的段落结尾。即使你找到了,你的PDF阅读器也可能不知道。)
总之,这取决于你的软件是否能实现某种 “人工智能",仅仅从单个字符的位置上提取出什么是一个字,什么是一个段落,等等。不同的软件会比其他软件做得更好,这也取决于PDF是如何制作的。在任何情况下,你不应该期望完美的结果。拥有输出的PDF与拥有源文件是不一样的。如果可以的话,最好是尝试着去获得。
你这种问题的标准解决方案是使用Adobe Acrobat Professional(昂贵的,不是免费的阅读器)将PDF转换为HTML。
有一些免费软件可以用来提取PDF中的文本,但同样,不要期望有完美的结果。例如,参见calibre (可以转换为RTF格式), pdftohtml/pdfreflow或AbiWord word processor(启用了所有的导入/导出插件)。还有一个用于OpenOffice的PDF导入插件。
但请不要期望这些结果都是完美的。你在这里是在违背了这个原则。PDF并不是一个可编辑的输入格式。
有一个非常好的在线工具叫Sej-da。它处理的是高级PDF操作。没有软件可供下载。由于它是一个***新的在线工具,目前还处于测试阶段。它允许你从PDF中提取文本,以及提供了无数其他PDF功能 http://www.sejda.com/
2012年11月14日,第3版对sejda功能进行了简短的视频回顾,可以在这里找到: http://revision3.com/tzdaily/sejda-online-pdf
你可以使用Adobe Acrobat Pro来实现。
对于表格。使用Acrobat 9/10有一个选择表格的功能。在Acrobat X中,你可以直接点击另存为>电子表格>Excel。它甚至可以将页面合并成一个长的电子表格。很棒的功能。
对于文本来说。有一个类似的功能可以导出到MS Word。Save As(另存为)> Word(Word Doc)。 来源:
我发现这个非常有用(删除断行符):
这里有一个有用的技巧,可以快速解决这个问题,而不必手动删除所有的断行符。基本上,它所做的一切是自动替换所有不需要的断行,用一个空格,使所有的文本一起运行到一个单一的段落:
1-复制你想要的文本从PDF。
3-点击 “编辑 "然后 "替换”
4-确保你在 “查找什么 "字段
5-点击 "更多 "然后 "特殊”
6-选择 “段落标记"(列表的顶部)
7-点击进入 "替换 "字段 8-按空格键一次
9-点击 "替换所有” 10-点击 “确定 "然后关闭 "查找&替换 "框。
我试图保存一个PDF文件的文本和格式,该文件被组织在一个表格中。在Acrobat Professional中,我发现有一个 “另存为 "选项,可以保存为excel文档。这很适合我的需求。我还注意到有一个 "另存为Word文档 "选项。但我没有尝试过。
你可以从adobe reader复制到MS Excel中,按照你想要的方式格式化(表格),然后从Excel中复制粘贴。这个解决方案的效果很好。你不需要购买昂贵的adobe专业版拷贝。