【问题标题】:How to print non-ASCII characters to a file?如何将非 ASCII 字符打印到文件中?
【发布时间】:2021-11-29 03:23:07
【问题描述】:

我想用\n\t\033等特殊字符格式化输出文档以更改文本颜色,我正在使用PDF库(PyPDF)编写PDF,需要加粗一个内联词,但该库的内联格式不是那么灵活,我尝试使用特殊字符进行格式化,如下所示:

\033[1mBOLD TEXT\033[0m

但是当我看到输出 PDF 时,它会打印字符串:

\033[1mBOLD TEXT\033[0m

而不是粗体文本。如何将非 ASCII 字符打印到文件中?当我格式化字符串并将其打印到控制台时,它显示为粗体,但在 csv、txt 或 PDF 上不是粗体。

【问题讨论】:

标签: python string format


【解决方案1】:

除非 PyPDF 明确表示它可以处理这些特殊字符,否则您将无法让它们做任何事情。 ANSI escape codes are only intended for use in terminals,所以它们不在其他任何地方工作也就不足为奇了。

PDF 中的粗体文本通过将用于渲染的字体切换为字体的粗体版本来工作,因此如果您没有库为您处理它,它会有点复杂。根据您向 PDF 添加内容的方式,如果您在文档(see this related question) 中有粗体版本的字体,您可能能够将更改字体命令插入到文档中。请记住,这是一个很深的兔子洞,但如果您有勇气,可以查看 PDF 规范 (such as the reference for 1.7 found here)

更现实地说,我建议您将库切换到支持 parsing markdownfpdf2 之类的库。

【讨论】:

    猜你喜欢
    • 2011-04-04
    • 2013-03-29
    • 1970-01-01
    • 2010-12-14
    • 2012-10-14
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 2017-08-11
    相关资源
    最近更新 更多