从昨天开始,这一直让我很生气,我只是没有想法。
我正在尝试编写带有子类的 PDF pdfkit.PDFKit
(我们称之为):它运行良好(我只是将它子类化以增加在 argsMyPDFKit
中使用的可能性)。xvfb-run
我指定这不是班级的问题。
我试图将一些 HTML 转换为 PDF。模板如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- Simplified for reading. -->
<style type="text/css">..</style>
</head>
<body>
<!-- Simplified for reading. -->
{% for obj in objs %}
<div>
<div>
<p>{{ obj.name }}</p>
</div>
<p>{{ obj.age }}</p>
</div>
{% endfor %}
</body>
</html>
使用这些模板并objs
拥有近 400 个实例,HTML 的输出接近 5k 行。
尝试将其溅入文件时出现问题。它可能在这两个地方之一:
MyPDFKit.to_pdf(..)
(从 调用MyPDFKit.from_string(..)
)的stdout
大小有限制,并且会截断部分字符串(函数的源代码在此处)。f.write(..)
是截断您传入的字符串的那个。
不能是模板或对象数据的问题,因为我可以在仅获取一定范围的 then 时正确创建 PDF(由于 HTML 行数,同一渲染中的 350 多个项目开始导致问题)。例如,objs[:315]
效果很好,但objs[:350]
不是。
我尝试将缓冲区大小设置为-1,这是无限的,但也不起作用。以前有人遇到过这个问题吗?