问题标签 [weasyprint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
427 浏览

python - 从 Python 以正确格式将 HTML 转换为 PDF

我一直在尝试使用 Wea​​syprint 和 PDFKIT 将网页转换为 pdf。我已成功保存了包含部分页面的 PDF。在 weasyprint 中,我无法弄清楚如何从页面中获取正确的 CSS 样式。使用 PDFKIT 我似乎在检索网站的移动版本而不是整页。我正在使用python 3.6。

我在 pdfkit 中看不到一个选项来指定要连接的内容。此外,从 weasyprint 创建的两个 PDF 是相同的。

0 投票
1 回答
2122 浏览

django - 如何将 Weasyprint 与 AWS Lambda 一起使用?(姜戈和扎帕)

我有一个简单的 Django 应用程序,它已使用 Zappa 推送到 AWS Lambda。

此过程正常运行,但有一个例外:cannot load library 'pango-1.0': pango-1.0: cannot open shared object file: No such file or directory. Additionally, ctypes.util.find_library() did not manage to locate a library called 'pango-1.0'

我正在使用 Wea​​syprint 生成 PDF 文件。Weasyprint 需要 Cairo 和 Pango。

我不知道如何让 Pango 在我的 AWS Lambda 安装上工作。

我应该怎么做才能让它工作?

0 投票
1 回答
2166 浏览

python - 分页后重新显示当前标题

我正在用 Wea​​syPrint 创建一个文档。我的部分有名称,其中一些可能跨越多个页面。当一个部分太长时,会发生分页符。我要做的是重新显示当前部分的名称,最好使用相同的格式。

以下 MWE 显示了分页符后部分标题如何不显示:

输出weasyprint example.html example.pdf

在此处输入图像描述

我想First section作为<h1>标签显示在左页的顶部。

我想做这个 tex.stackexchange帖子,据我了解,基本上包括检查当前页码是否超过当前总页数,如果超过,则插入遇到的最后一节标题。

我不知道在 HTML 中这样做的可能性,它存在吗?有什么解决方法可以做到这一点吗?如果没有,是否可以让 WeasyPrint 在某个page-break钩子上执行自定义 Python 代码?

0 投票
1 回答
940 浏览

python - 创建下载 PDF 文件并将其存储到模型中

我用 Wea​​syPrint 创建了一个 PDF Creator 并包含了下载功能。现在是否可以将该 PDF 文件立即存储到 Model-FileField(称为 Invoice)中?这段代码应该是什么样子?

0 投票
1 回答
1338 浏览

python - OSError: dlopen() 加载库失败:cairo / cairo-2 / cairo-gobject-2

我的观点

当我尝试运行服务器或尝试运行 weasyprint 代码时,我被一个错误触发了

我也更新了我的环境变量

到这个位置

0 投票
1 回答
463 浏览

django - 尝试使用 Wea​​syPrint 保存 PDF 字符串会导致 UnicodeDecodeError

到目前为止,这是我的代码:

错误堆栈:

实际上它通过网络请求(返回 PDF 作为响应)和 shell(手动编写代码)工作。该代码经过测试,从未给我带来任何问题。文件以正确的编码保存,设置encodingkwargHTML无济于事;此外,mode模板的值是正确的,因为我见过其他问题可能是这个问题。

但是,我正在添加一个管理命令以定期使用它(对于较大的 PDF,我无法通过 Web 请求执行此操作,因为服务器的超时可能会在完成之前激活),当我尝试调用它时,我只会得到一个UnicodeDecodeError说法'utf8' codec can't decode byte 0xe2 in position 10: invalid continuation byte

PDF(至少从我所见)最初使用以下字符呈现:

这转化为:

所以问题都是关于性格的â但这是一个陷阱

相反,问题在于这行代码:

将其更改为:

只是按预期工作!

所以我的问题是:当尝试将变量分配给字符串时,Python 可能存在什么类型的原因抛出?UnicodeDecodeError我已经在我的 virtualenv 中深入研究了 weasyprint 的代码,但我没有看到那里的转换。

0 投票
1 回答
244 浏览

django - 您如何将内容处置实现为 django_weasyprint 包的附件?

使用django_weasyprint(基于类的视图实现)包生成pdf。

我可以在浏览器中生成 pdf,但无法设置打开/另存为对话框弹出功能。我知道我必须将内容处置设置为等于附件(我认为),但我正在努力这样做。

我想让打开/另存为对话框自动弹出。

0 投票
1 回答
243 浏览

pip - 使用 pip 安装 cairocffi 时出现 CERTIFICATE_VERIFY_FAILED

当我运行时:

我得到:

0 投票
1 回答
926 浏览

php - 使用 PHP 导出 Weasyprint

我尝试在 PHP 中执行 weasyprint 命令(它在控制台中工作):

但我不断收到这些错误:

在此处输入图像描述

甚至可以这样调用 weasyprint 吗?

谢谢

0 投票
1 回答
1693 浏览

python - 在 Ubuntu 中为 weasyprint 安装最新的 cairo lib

我刚刚安装了一个 Ubuntu 仿生实例。它预装了 cairo 1.14.6。我至少需要 cairo 1.15.4 才能使 weasyprint 正常工作。不幸的是,即使安装了最新的 cairo,python 仍然会选择旧的库。我会很感激任何线索。