Character encoding 如何在不使用HDD上的临时txt文件的情况下,在Python中将字符串转换为pdf文件?

Character encoding 如何在不使用HDD上的临时txt文件的情况下,在Python中将字符串转换为pdf文件?,character-encoding,pdf-generation,python-2.7,Character Encoding,Pdf Generation,Python 2.7,我有一个普通txt格式的大库。 我需要从Python脚本内部将这些文件转换为pdf格式,而不是从命令行,但之前我需要对原始文件的文本进行一些操作。 我只是将文件的内容读入字符串,进行必要的更改,然后我想将更改后的字符串输出为pdf文件,但不在HDD上创建临时文本文件。 有办法吗 提前谢谢 顺便说一句,这个库是俄文的,所以我想我需要处理编码问题。使用ReportLab工具包: 它也在PyPi上:pip安装reportlab;或者,如果您正在运行Linux,请使用软件包管理器 PDF的默认内置字体不

我有一个普通txt格式的大库。 我需要从Python脚本内部将这些文件转换为pdf格式,而不是从命令行,但之前我需要对原始文件的文本进行一些操作。 我只是将文件的内容读入字符串,进行必要的更改,然后我想将更改后的字符串输出为pdf文件,但不在HDD上创建临时文本文件。 有办法吗

提前谢谢


顺便说一句,这个库是俄文的,所以我想我需要处理编码问题。

使用ReportLab工具包: 它也在PyPi上:pip安装reportlab;或者,如果您正在运行Linux,请使用软件包管理器

PDF的默认内置字体不支持俄语,因此您必须采取措施 比如:

将“DejaVuSans”替换为已安装的字体名称,您知道其中包含您的字符。 这会将该字体合并到您的PDF中,并使生成的文件比没有的文件大约20K。
如果有必要,还可以将PDF生成到内存。

Wow!谢谢看起来还可以。在格式化方面仍然有一些小问题,但我相信现在我可以解决它了。谢谢!
canvas.setFont('DejaVuSans',10)