0

我正在使用 python 中的 weasyprint 库为各种房地产广告渲染 PDF 传单。但是,渲染文件中的某些文本缺少整个句子的部分内容。

文本为捷克语。例如,输入文本:“Zrekonstruovaný a jižně orientovaný byt ve 3. nadzemním podlaží bytového domu s výtahem。”

以 PDF 格式呈现的文本:“Zrekonstruovaný, jižněvýtahem.”。因此,它缺少句子的中间部分。

删除特殊字符 (ěščřžýáíé) 后,这个特定的句子可以渲染,但这不是通用规则,因为即使使用这些字符,其他文本也可以渲染。

我找不到发生这种情况的任何规则。此外,这仅发生在我们在 Debian 上运行的生产服务器上。在我本地的 Kubuntu 上渲染运行得很好。

在仅安装 weasyprint 及其依赖项的虚拟环境中运行 weasyprint v 0.31 和 0.33 进行测试。

我会很高兴任何提示,谢谢。

4

1 回答 1

0

一种可能的解决方法是安装LibreOffice在您的服务器上,它可以在没有 GUI 的情况下运行,并且非常适合将文档转换为 pdf。您可以安装最小版本并查看它是否有效 - 如果它不适用于最小安装,那么您可以安装一些额外的推荐软件包甚至完整版本。以下命令将安装最低版本:

apt-get --no-install-recommends install libreoffice

如果您安装了 LibreOffice,那么您可以使用以下命令创建 PDF:

libreoffice --invisible --convert-to pdf /folder/document.docx --outdir /destination/folder/

我希望这会有所帮助!

于 2016-12-16T21:07:24.233 回答