这已经得罪我了昨天,我刚出来的想法。不能写完整的HTML到PDF
我想写一个PDF一个子类pdfkit.PDFKit
(姑且称之为MyPDFKit
):它工作得很好(我只是子类它添加在ARGS使用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
具有极限尺寸,并截断字符串的一部分(该功能的源代码是here)。f.write(..)
是舍去你在传递字符串的一个。
不能在模板或对象的数据的问题,因为我只得到了一定范围内的,然后当正确地创建PDF文件(由于HTML的行数,在相同的渲染中超过350个项目开始导致该问题)。例如,objs[:315]
效果不错,但不是objs[:350]
。
我试着将缓冲区大小设置为-1,这是无限的,但也不起作用。任何人有过这个问题吗?