![打印UTF-8(包括中文)文本](https://linux22.com/image/4192/%E6%89%93%E5%8D%B0UTF-8%EF%BC%88%E5%8C%85%E6%8B%AC%E4%B8%AD%E6%96%87%EF%BC%89%E6%96%87%E6%9C%AC.png)
我正在尝试打印大量(几兆字节)的 UTF-8 编码文本,其中包含中文和拉丁字符(可能还有一些其他字符)。我想以非常小的压缩字体将其打印在每页的几列中,最好能够控制行距。我很喜欢列间线,但没有它们我也可以生活。目的是打印为 PDF 以便传输,以及打印到纸张上。
我已经尝试过enscript
和a2ps
,但这些都不支持 Unicode。
我也尝试过paps
,但这会产生位图输出,无法有效地进行 PDF 转换,而且看起来也很糟糕。
有没有一种现代方法可以打印这样的 UTF-8 文本,而无需求助于在 Python 中手动构建它之类的东西?
答案1
变音符号是一个文本到 postscript 转换器,类似于 enscript 和 a2ps,具有良好的 Unicode 支持,但配置可能性要少得多。我不认为 Cedilla 可以多列。
如果你想对格式进行精细控制,你可以使用乳胶。 LaTeX 对超过 8 位的支持有点问题,但现在已经有了可以相当轻松地排版中文的工具。这是一些未经测试的代码,灵感来自如何在LaTeX中输入中文?和包含 .txt 中的数据在我们的关于 TeX 的姊妹网站。您可以通过更改\VerbatimInput
从fancyvrb 包。
cat <<'EOF' >driver.tex
\documentclass[UTF8]{ctexart}
\usepackage{multicol}
\usepackage{fancyvrb}
\setlength\columnseprule{.5pt}
\begin{document}
\begin{multicols}{2}
\VerbatimInput[fontfamily=cmr]{stuff.txt}
\end{multicols}
\end{document}
EOF
pdflatex driver.tex