使用utf8编码的文本到pdf(替代a2ps)

时间:2014-07-17 04:39:59

标签: pdf unicode printing utf-8 ascii

程序a2ps不支持utf-8。至少我的版本只做 支持latin-X编码:

a2ps --list=encoding

版本:

GNU a2ps 4.14

如何将简单的utf-8文本转换为postscript或pdf?

7 个答案:

答案 0 :(得分:9)

如果您真正想要的是使用a2psenscript(这是一个类似的工具),如果您需要将它们与某些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。还可以查看pandocgimlirst2pdfwkhtmltopdf等工具。

答案 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。