gpt4 book ai didi

linux - Weasyprint输出格式问题-如何使用CSS @page?

转载 作者:太空宇宙 更新时间:2023-11-04 05:46:06 25 4
gpt4 key购买 nike

我曾经使用 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 at-rule 来完成。考虑以下示例:

@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 input output

请注意,复杂的页面通常会被 weasyprint 渲染得很糟糕,因为有一些不支持的样式标签(calc、var、精确轴上的溢出、ecc ..)。
让我说,像 taht 这样的工作是一团糟,如果您需要做复杂的事情,请考虑使用 weasyprint 作为 Python 库,而不是在独立模式下,这样您就可以处理源代码并在您需要做的任何事情中获得更好的结果。

希望有帮助。
呵呵。

关于linux - Weasyprint输出格式问题-如何使用CSS @page?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58493255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com