问题标签 [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 回答
592 浏览

django - 显示 Django WeasyPrint PDF 导出的进度条

我正在使用 Wea​​syPrint 创建 PDF。PDF 可以轻松达到 120 多页,并且最多需要 2 分钟才能呈现。发生这种情况时,页面看起来冻结并且没有响应。我正在研究 Celery,但在我到达那里之前,我想实现一个进度条:

完美解决方案: 以某种方式获取 PDF 导出的当前状态并将其显示在进度条中

可接受的解决方案:显示一个移动的进度条,告诉用户可能需要两分钟,直到 PDF 显示在浏览器显示中/自行下载。

有任何想法吗?谢谢!

当前views.py:

0 投票
1 回答
766 浏览

python - 如何在受密码保护的页面上使用 Wea​​syPrint PDF Builder?

我正在尝试使用 Wea​​syPrint 从我的 Flask 应用程序下载一个页面,但是在下载 PDF 时,我将登录页面作为 PDF 而不是预期的页面。

我正在使用以下代码:

登录装饰器是:

出于某种原因,尽管我已登录,但该功能似乎无法下载受保护的视图。我怎样才能让它正确下载?

0 投票
1 回答
1285 浏览

python - WeasyPrint 在 Windows 上与 Python 3.x 一起使用

我似乎无法让 WeasyPrint 在 Windows 上使用 Python 3.4 或 3.5 工作。有没有人能够做到这一点?weasyprint.org 上没有论坛,IRC 频道已经死了。

我已经能够使用 Python 3.4.3 和 3.5.1 进行安装。我已遵循此处的指南 [1]。我还注意到 WeasyPrint 的网站声称它应该与 Python 2.6+ 或 3.1+ 一起使用。

当我为 Python 3.4.3 安装并打开 Python shell 并简单地“导入 weasyprint”时,我得到了这个:

在 Python 3.5.1 中导入时,我得到了类似的回溯,除了最终的 TypeError 是:

[1] https://gist.github.com/doobeh/3188318

0 投票
1 回答
505 浏览

python - 需要帮助理解 Python 3.5 中类似字节的对象与 str

我在使用 Python 3.5 或 3.4 使库在 Windows 上运行时遇到问题(请参阅此问题 [1])。我想我会仔细看看为什么它失败了。

我相信问题归结为一些看起来像这样的代码,其结果我不明白:

在解释器中运行它会给出:

TypeError:需要一个类似字节的对象,而不是“str”

但是,将最后一行更改为:

它工作正常。类型(a)是<类'str'>

我很困惑,因为它告诉我它想要一个类似字节的对象,但它只有在我传递一个 <class 'str'> 对象时才有效。希望这很容易解释,我只是想念它。

使用命令行解释器的堆栈跟踪:

[1] WeasyPrint 在 Windows 上与 Python 3.x 一起使用

0 投票
2 回答
8856 浏览

python - TypeError: parse() 得到了一个意外的关键字参数“override_encoding”

我相信我已经安装了所有依赖项。这里发生了什么?

0 投票
3 回答
12649 浏览

django - 在 Windows 上获取“OSError: dlopen() failed to load a library: cairo / cairo-2”

我在OSError: dlopen() failed to load a library: cairo / cairo-2新安装后尝试执行 Django。使用 Windows。

根据完整的跟踪,我正在使用 Wea​​syprint,似乎与那个有关:

0 投票
2 回答
5556 浏览

python - Django 和 weasyprint,合并 pdf

可以用 weasyprint 在 django 中合并多个 pdf 吗?

我有这样的事情:

但是我无法加入这两个文件,总是只输出第一个模板,可以将两个文档合并成一个 pdf 吗?你能帮助我吗?谢谢。

0 投票
0 回答
858 浏览

html - 在打印 CSS 中分页后折叠边距

我希望分页符在<h2>. An<h2>上有一个上边距,以将其与之前的内容分开,但如果它紧跟分页符,我不希望边距出现,这就是我正在努力解决的部分。

现在我的 CSS 看起来像这样:

边距和分页符似乎是不同版本的 CSS 发生变化的事情之一。有一次(CSS 2.0?)页面顶部元素的边距似乎与页面的边距一起折叠,但情况不再如此。

如果相关的话,我在 FreeBSD 下使用 Wea​​syPrint。我正在对从 markdown 生成的 HTML 进行样式设置,因此添加<section><div>标记充其量是尴尬的。

0 投票
1 回答
1429 浏览

python - 在WeasyPrint中编译后发送PDF文件路径给客户端下载

在我的 Django 应用程序中,我使用 Wea​​syPrint 将 html 报告转换为 pdf。我需要将转换后的文件发送回客户端,以便他们下载。但是我在 WeasyPrint 网站上看不到任何代码,我们可以在其中获取保存文件的路径或以任何方式知道文件的保存位置。

如果我硬编码路径,例如,D:/Python/Workspace/report.pdf并尝试通过 javascript 打开它,它只是说地址不被理解。

有什么更好的方法来解决这个问题?

我的代码:

这是所有与生成 PDF 文件的 WeasyPrint 相关的代码。

0 投票
2 回答
1708 浏览

javascript - 使用 Wea​​syprint 生成 pdf 文件,保存为 zip 文件,将该 zip 文件发送给客户端并呈现以供下载

让我分解一下我的要求。这就是我现在正在做的事情。

1. 从 HTML 生成 PDF 文件

为此,我使用 Wea​​syprint 如下:

所有带有路径的文件名都保存在lstFileNames.

2.用weasyprint生成的pdf文件创建一个zip文件

为此,我正在使用 zipfile

3.发送zip文件到客户端下载

4.通过Javascript打开文件进行下载

问题

1.前端成功接收到zip文件后,我尝试打开后,出现以下错误:

存档格式未知或已损坏

我发送的文件是错误的还是我的 Javascript 代码有问题?

2.有没有办法将所有 pdf 文件存储在字节数组列表中,并使用这些字节数组生成 zip 文件并将其发送给客户端?我用 weasyprint 试过了,但结果是一样的damaged file

3.不完全是问题,但我无法在 weasyprint 文档中找到它。我可以强制保存文件的路径吗?

问题#1 是最重要的,其余是次要的。我想知道我是否做得对,即生成 pdf 文件并将其 zip 文件发送给客户端。

提前致谢。