我曾经使用wkhmtltopdf来打印一些网页,但不幸的是,它不再适用于某些现代网站。
我发现在命令行中尝试过的weasyprint。输出具有所有内容,但可能由于页面大小而裁剪了文本。
该网站告诉您这是可在CSS(https://weasyprint.readthedocs.io/en/stable/tutorial.html#adjusting-document-dimensions)中自定义的。我不是网络专家,也不知道该怎么做。我应该复制和编辑网页的源代码吗?那应该在哪里插入呢?
这是我要以pdf格式正确打印的示例网页:
https://korben.info/8-clients-alternatifs-pour-spotify.html
有没有人成功通过weasyprint成功进行了正确的打印?
谢谢您的帮助。
最佳答案
调整文件尺寸
当前,WeasyPrint不支持通过命令行标志来调整页面大小或文档边距。这最好通过CSS @page规则来完成。考虑以下示例:
@page {
size: Letter; /* Change from the default size of A4 */
margin: 2.5cm; /* Set margin on each page */
}
@page是CSS媒体查询,因此您必须在.css文件中写下代码。
完成后,您可以致电
weasyprint -s path / to / css / file输入输出
注意,由于很少的不支持的样式标签(calc,var,精确轴上的溢出等),复杂的页面通常无法通过weasyprint渲染。
让我说,像taht一样工作是一团糟,如果您需要做复杂的事情,请考虑将weasyprint用作Python库,而不是在独立模式下使用,因此您可以处理源代码并在需要执行的任何操作中获得更好的结果。
希望能帮助到你。
le