「Linux」- PDF 转 TXT @20210330

问题描述

在工作中,我们需要将 PDF 文档转换为 TXT 文档,而不是逐行复制粘贴。

该笔记将记录:如何将 PDF 文档转换为 TXT 文档。

解决方案

方法一、复制粘贴

在普通情况下,可以直接复制粘贴文档内容(但这仅适用于文档内容少的场景);

方法二、使用 pdftotxt 命令

如果需要使用命令行进行批量转化的话,可以使用 pdftotxt 命令:

# apt-file search -x 'bin/pdftotext'
poppler-utils: /usr/bin/pdftotext

# apt-get install poppler-utils

# pdftotext -nopgbrk AADEBUG_Mar_03.pdf

poppler-utils 中,还包含了许多其他的命令,这里不再展开介绍。

方法三、使用图形工具

比如 WPS 可以进行转化,如果文档数量少,强烈推荐该方案。

常见问题汇总

复制PDF文本中的内容时出现乱码

当复制 PDF 内容后,在粘贴时,会出现“乱码”。例如下面的样子:

v§3}-91

其实这不是乱码,而是没有字体。因为在 PDF 中嵌有我们电脑中没有的字体。

可以使用 pdfsandwich 命令进行处理:

pdfsandwich AADEBUG_Mar_03.pdf

执行该命令之后会生成一个名为 AADEBUG_Mar_03_ocr.pdf 的PDF文件,这个新的PDF文件是可以直接复制的。命令 pdfsandwich 属于pdfsandwich包,安装即可:

# apt-file search -x 'bin/sandwich'
pdfsandwich: /usr/bin/pdfsandwich

# apt-get install pdfsandwich

使用pdffonts命令可以查看PDF所使用的字体,该命令属于poppler-utils包(Debian 8)。查看字体的命令如下:

# pdffonts AADEBUG_Mar_03.pdf
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
[none]                               Type 3            Custom           yes no  no       9  0
[none]                               Type 3            Custom           yes no  no     261  0
[none]                               Type 3            Custom           yes no  no     305  0
[none]                               Type 3            Custom           yes no  no     362  0
[none]                               Type 3            Custom           yes no  no     412  0
[none]                               Type 3            Custom           yes no  no     426  0
[none]                               Type 3            Custom           yes no  no     463  0
[none]                               Type 3            Custom           yes no  no     475  0
[none]                               Type 3            Custom           yes no  no     492  0
[none]                               Type 3            Custom           yes no  no     519  0
[none]                               Type 3            Custom           yes no  no     528  0
[none]                               Type 3            Custom           yes no  no     550  0
[none]                               Type 3            Custom           yes no  no     561  0
[none]                               Type 3            Custom           yes no  no     568  0

# pdffonts AADEBUG_Mar_03_ocr.pdf
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes      3  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes     16  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes     29  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes     42  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes     55  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes     68  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes     81  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes     94  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes    107  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes    120  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes    133  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes    146  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes    159  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes    172  0
GlyphLessFont                        CID TrueType      Identity-H       yes no  yes    185  0

可以对比原PDF与使用pdfsandwich命令进行转化后的PDF,它们的字体有所不同。

相关文章

「Linux」- 阅读 PDF 文件(常用查看阅读工具)
「PDF」- 书签 与 大纲(Bookmark and Outline)

参考文献

PDF文件里面的中文复制到word怎么就乱码了?怎么解决?
PDFLaTex 输出的 PDF 复制时得到乱码怎么解决?
check which fonts are embedded in the final pdf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值