程序a2ps不支持utf-8。至少我的版本只做 支持latin-X编码:
a2ps --list=encoding
版本:
GNU a2ps 4.14
如何将简单的utf-8文本转换为postscript或pdf?
答案 0 :(得分:9)
如果您真正想要的是使用a2ps
或enscript
(这是一个类似的工具),如果您需要将它们与某些UTF-8文档一起使用,您只需要将您的文档转换为ISO-8859-1或某些支持的编码。各种工具允许这样做。例如,以下是enscript
的工作流程(但您可以对a2ps
执行相同操作):
cat document.txt | iconv -c -f utf-8 -t ISO-8859-1 | enscript -o document.ps
但是在转换过程中你可能会丢失一些字符,因为这些编码的范围小于UTF-8。
另一方面,如果需要UTF-8,您可能不得不寻找一些允许将UTF-8转换为PDF的最新工具。我自己写了一个名为txt2pdf的Python程序;你可能会发现它here。还可以查看pandoc,gimli,rst2pdf或wkhtmltopdf等工具。
答案 1 :(得分:2)
我从https://github.com/arsv/u2ps那里获得了可接受的结果(用于打印代码清单)
答案 2 :(得分:2)
https://gitlab.com/gnomify/u2ps是gnome-u2ps的替代。
答案 3 :(得分:1)
使用 paps!例如我使用它如下:
paps --font="Monospace 10" input.txt > output.ps
我对 utf 编码没有问题。 如果您需要 pdf 文件,则
pdf2ps output.ps
答案 4 :(得分:0)
如果文本文件很小,则paps将文本转换为ps,然后可以将其提供给ps2pdf。问题是来自paps的ps文件导致ps2pdf创建一个非常大的pdf文件。如果可以,这是可能的。目前,我从paps获得了大文件大小的pdf。
答案 5 :(得分:0)
有一个基于gnome库的实用程序,名为gnome-u2ps。它的功能少于a2ps
,似乎不再维护了。
答案 6 :(得分:0)
您可以使用Vim。打开文件并在正常模式下执行命令:hardcopy > output.ps
。您也可以直接从外壳执行此操作。执行中
$ vim -c ":hardcopy > output.ps" -c ":quit" input.txt
在您的shell中将打开Vim,生成output.ps
,然后关闭Vim。