如何将 TXT 转换为 PDF?

如何将 TXT 转换为 PDF?

我想将.txt文件转换为.pdf.我正在使用这个:

ls | while read ONELINE; do convert -density 400 "$ONELINE" "$(echo "$ONELINE" | sed 's/.txt/.pdf/g')"; done

但这会产生一个“错误”——如果文本文件中有很长的一行,它不会被换行。

输入文本

输入文件的屏幕截图

输出PDF

输出 PDF 的屏幕截图

--

此外,如果输出的 PDF 可以包含文本,而不是文本图像,那就太好了。

我有很多很多很多 TXT 文件。所以不想手工做。我需要一种自动解决方案,就像我上面提到的那样。

答案1

潘多克可以做到这一点。它更专注于将标记文本转换为各种格式,但处理简单的纯文本应该没有问题。

pandoc input.txt -o output.pdf

答案2

您可以使用 Vim 将文本打印到 PostScript 文件,然后将其转换为 PDF,只要 Vim 是使用该+postscript功能编译的。

为此,您可以使用该:hardcopy > {filename}命令。例如您可以打开example.txt并执行

:hardcopy > example.ps

这将生成一个example.ps包含 中所有文本的文件example.txt。 PostScript 文件中每个页面的页眉将包含原始文件名和页码。

然后您可以使用以下命令将 PostScript 文件转换为 PDF

ps2pdf example.ps

这将创建example.pdf.

您可以使用以下命令直接从终端执行相同操作(无需与 Vim 交互)

vim example.txt -c "hardcopy > example.ps | q"; ps2pdf example.ps

这将example.txt在 Vim 中打开并执行传递给选项的命令-c,在本例中是一个hardcopy命令,后跟一个 quit ( q) 命令。然后它执行ps2pdf以生成最终文件。

有关更多选项,请参阅带有:help :hardcopy.

答案3

一种方法是使用 CUPS 和 PDF 伪打印机将文本“打印”到 PDF 文件。

另一种是使用铭刻编码为 postscript,然后使用 ghostscript 包中的 ps2pdf 文件从 postscript 转换为 PDF。

答案4

LibreOffice 就是为此而工作的。用法:

libreoffice --convert-to "pdf" file.txt

输出将被称为file.pdf.

相关内容