Text-Processing

如何將TXT轉換為PDF?

  • December 19, 2020

我想將.txt文件轉換為.pdf. 我正在使用這個:

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

但這會產生一個“錯誤”——如果文本文件中有很長的行,它不會被換行。

輸入文本

輸入文件截圖

輸出 PDF

輸出 PDF 的螢幕截圖

此外,如果輸出 PDF 可以包含文本而不是文本圖像,那也很棒。

我有很多很多 TXT 文件。所以不想自己動手。我需要一個自動解決方案,就像我上面提到的那樣。

pandoc可以做到這一點。它更專注於將標記的文本轉換為各種格式,但對於簡單的純文字應該沒有問題。

pandoc input.txt -o output.pdf

您可以使用 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

這在 Vim 中打開example.txt並執行傳遞給-c選項的命令,在本例中是一個hardcopy命令後跟一個退出 ( q) 命令。然後它執行ps2pdf以生成最終文件。

有關更多選項,請參閱帶有:help :hardcopy.

引用自:https://unix.stackexchange.com/questions/17406