【问题标题】:Weasyprint pdf does not fit to pageWeasyprint pdf 不适合页面
【发布时间】:2016-08-16 21:35:28
【问题描述】:

我有一个带有简单 css2 规则的 html 页面。所有内容都包含在一个 930 像素宽的 div 中。在浏览器中,这看起来符合预期,并且在打印(从 chrome)时,它以合适的字体大小整齐地适合页面。

一旦我尝试使用 weasyprint 从此文件创建 PDF,字体看起来要大得多,并且文档超出了页面宽度。

HTML(string=html, base_url=server_base_url).write_pdf(target=target) 

我不确定如何调试该问题。 Weasyprint 似乎没有假设打印缩放,这是我假设 chrome 正在做的事情。获取文档,渲染它,然后缩放它以适应页面。

我尝试使用write_pdf 方法.write_pdf(target=target, zoom=0.7)zoom 参数,但它似乎放大了页面大小和内容大小,所以真的没有帮助。我尝试将它与 css 结合以使页面更大。所以我用 weasy 缩小并用 css 放大

@page {
    size: XXXin YYYin
}

这最终看起来很奇怪。那么我该去哪里呢?

【问题讨论】:

    标签: html css pdf weasyprint


    【解决方案1】:

    您是否尝试过使用

    @page {
        size: Letter;
        margin: 0in 0.44in 0.2in 0.44in;
    }
    

    您可以随意调整页边距,但 Letter 大小应为标准页面大小

    page size

    【讨论】:

    • 这是一个老问题了。我相信我通过在 body 标签上设置宽度来解决它
    • @Ross Wilson,我遇到了与 Eldamir 相同的问题,但在我的情况下,通过样式表 weasyprint 参数传递您提到的页面参数不起作用。还有什么我可以尝试的吗?我的打印文档的大小仍然超出页面大小。 Eldemir,如果您能记住解决方案并将其发布在此处,那也将非常有帮助!
    • @fernandosjp 我不确定这是否有帮助,但似乎我还必须限制 body 元素的宽度(我的当前设置为 600px 但它可能更大取决于你想要的边距)。如果我将其设置得非常高,那么 pdf 上的信息将超出标准尺寸页面。
    猜你喜欢
    • 1970-01-01
    • 2016-12-23
    • 1970-01-01
    • 2015-07-03
    • 2020-01-19
    • 1970-01-01
    • 2020-05-16
    • 2021-08-26
    • 1970-01-01
    相关资源
    最近更新 更多