pdftotext
Poppler 拥有将 pdf 文件转换为文本文件的优秀工具:
pdftotext input.pdf output.txt
有没有办法将这个文本文件重新转换为pdf?
通过转换,我的意思是获得一个与原始pdf文件具有相似页面内容的pdf文件。
如果可能,页码与原始页码相同(但这不是强制性的)。没有页码的 pdf 也可以。
精确的外观并不重要。
一些潜在的用例场景:
- 您不小心删除了 pdf 文件,但您从 pdftotext 中获得了该文本文件。
- 您想通过文本编辑器编辑文本文件并生成 pdf 文件的更新版本。
- 生成较小尺寸的 pdf 文件。
答案1
有很多选择。理论上,任何可以读取纯文本并可以打印的程序都可以打印到生成 PDF 的虚拟打印机。
但如果我以编程方式执行此操作,我可能会使用潘多克:
pandoc filename.txt -o output.pdf
默认使用 pdflatex 来创建 PDF,但如果你不想安装像 TeX 发行版一样繁重的东西,还有其他后端可以使用,比如威易印刷或者wkhtml转pdf:
pandoc --pdf-engine weasyprint filename.txt -o output.pdf
但当然,正如已经指出的那样,结果永远不会保留原始内容的格式、字体等。
答案2
与程序类似a2ps我使用 Bash 函数a2pdf
:
a2pdf ()
{
lowriter --headless --convert-to pdf "$1"
}
您肯定知道,使用 pdftotext,PDF 的所有属性(如字体、格式和链接)都会丢失。