问题标签 [reportlab]
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.
python - 如何在 Reportlab 中找到一行文本的基线?
如何在 Reportlab 中找到一行文本的基线,以便将页面上的其他元素与文本的基线对齐?我正在使用canvas.drawString()
这些元素。
python - Django 和 Reportlab 问题
我写了这个小的 Django 视图来返回 pdf。
还有我的问题:
- pdf 中未正确显示 utf-8 字符。
- 如何包含图像?
- 如何包含一个非常基本的 html,例如:
.
python - python reportlab - registerFont - django - 一段时间后字体不可用
我想知道注册字体以在reportlab中使用的最佳时间是什么时候。我将以下行添加到我的 settings.py 中:
在此调用之后,字体可用于 pdf 生成。但它发生几天后字体不再可用,我必须重新启动 django 应用程序,这导致重新注册字体。
我已经尝试过的一种方法是在每次 pdf 生成调用之前注册字体,但由于每次调用 3-5 次调用都会崩溃,因此这种方法不起作用。
我只想知道 settings.py 是否是为 reportlab 注册字体的正确位置,如果是,那么几天后字体不再可用的原因是什么!?
- 编辑 -
实际上我们发现reportlab 和mod-wsgi 存在一些问题。我们切换到 fast-cgi,再也没有看到这个问题。
python - 添加用于 ReportLab 的字体
我正在尝试向 python ReportLab 添加一种字体,以便我可以将它用于功能。该功能是使用canvas.Canvas在PDF中绘制一堆文本,没什么复杂的,但是我需要为布局问题添加一个固定宽度的字体。
当我尝试使用我能找到的少量信息注册字体时,这似乎奏效了。但是当我试图从我的 Canvas 对象中调用 .addFont('fontname') 时,我不断得到
“PDFDocument 实例没有属性‘addFont’”
功能只是没有实现吗?我如何访问 .getAvailableFonts 中列出的 10 种左右默认字体以外的字体?谢谢。
我正在尝试实现的一些示例代码:
要注册字体,我试过了
'ghettomarquee.ttf' 只是我躺在身边的一种随机字体。
python - 使用 reportlab 在现有 PDF 上添加文本
我有兴趣以编程方式填写现有的 PDF 表单。我真正需要做的就是从用户输入中提取信息,然后将适当的文本放在适当位置的现有 PDF 上。我已经可以通过将同一张纸送入打印机两次来使用reportlab 做到这一点,但这真的让我误会了。
在添加用户输入的文本之前,我很想亲自对每个现有的 PDF 进行逆向工程并自己绘制每一行和每个字符,但我想检查是否有一种简单的方法来获取现有的 PDF 并将其设置为一些额外文本的背景。我真的更喜欢使用 python,因为它是我唯一觉得舒服的语言。
我也意识到我可以只扫描文档本身并将生成的光栅图像用作背景,但我更喜欢矢量图的精度。
似乎ReportLab 有一个具有此功能的商业产品,而我正在寻找的特定功能就在其中(copyPages) - 但为非营利用途的单一、简单功能支付 4 位数产品似乎有点过头了.
python - ReportLab 中的动态间隔
我正在使用具有动态内容的鸭嘴兽自动生成 PDF 文件。
这意味着文本内容的长度(直接位于 pdf 文件的底部)可能会发生变化。
但是,如果内容太长,可能会发生分页。这是因为我使用“静态”垫片:
因为我总是希望只有一页,所以我需要以某种方式动态设置 Spacer 的高度,以便 Spacer 将页面上剩余空间的“其余部分”作为其高度。
现在,我如何获得留在页面上的“剩余”高度?
python - 使用 Reportlab 复制此表单的方法是否正确?
我需要使用 Python/reportlab 生成此处看到的表单。
http://www.flickr.com/photos/49740282@N06/4563137758/sizes/o/
我试图通过为顶部的标题创建一个自定义的可流动对象(绘制框),然后为下面的珠宝表创建一个可流动的表格。此示例中显示为 JEWELRY 表的内容可能是多个表。我无法让我绘制的标题“流动”。它被绘制了,但是我的表格数据覆盖了它而不是出现在它下面。
这是我在reportlab 的第一个项目。在我真正开始调试之前,我想从有报告实验室经验的人那里知道我的方法在这里是否正确。谢谢!
pdf - 动态生成的 PDF 文件可在除 Adobe Reader 之外的大多数阅读器中使用
我正在尝试从用户输入动态生成 PDF,我基本上打印用户输入并将其覆盖在我没有创建的现有 PDF 上。
它有效,但有一个主要例外。Adobe Reader 在 Windows 或 Linux 上无法正确阅读。我手机上的 QuickOffice 也不读取它。所以我想我会追踪我创建文件的路径 -
1 -
使用 LZW 编码的 Adobe Distiller 制作的背景 PDF 1.2的原始 PDF 。
我没有做这个。
2 -
使用 Ghostscript 制作的背景PDF 1.4 的 PDF。
我在上面使用了 pdf2ps 然后 ps2pdf 来剥离 LZW,以便 reportlab 和 pyPDF 库能够识别它。请注意,此文件在 Adobe Reader 中看起来“模糊”,就像扫描错误,但在其他阅读器中看起来不错。
3 -用户输入文本的 PDF 格式,可与
用户输入的 Reportlab 制作的背景 PDF 1.3 相结合。在我尝试过的每个阅读器中都可以正常打开并且看起来不错。
4 -
使用 PyPDF在 2 和 3 上的功能完成的 PDF PDF 1.3。mergePage()
无法打开:
Adobe Reader for Windows
Adobe Reader for Linux
QuickOffice for Android
在以下位置完美打开:
Google Docs' PDF 查看器 on the web
evince for linux
ghostscript viewer for linux Foxit reader for Windows
Preview for Mac
是否有我应该知道的已知问题?我不确切知道“flate”是什么,但从互联网上我了解到它是 LZW 的某种开源替代品,用于 PDF 压缩?这会导致我的问题吗?如果是这样,是否有任何库可以用来修复代码中的原因?
python - Reportlab 'LayoutError' 处理和调试
我一直在使用 reportlab 处理一些复杂的 PDF 输出。这些通常都很好,但在某些情况下我仍然会得到 LayoutErrors - 这些通常是因为 Flowables 在某些时候太大了。
事实证明,调试这些非常困难,因为我通常没有比这样的信息更多的信息;
这真的没那么有用。我最想知道的是这种事情的最佳调试和测试策略。
- 有没有办法可以查看损坏的 PDF?即呈现布局错误,因此我可以更轻松地看到发生了什么。
- 有没有办法可以在 reportlab 中添加一个钩子来更好地处理这些错误?而不是仅仅失败整个PDF?
- 有关一般改进、测试和处理此类问题的任何其他建议。
我没有一个特定的例子,所以它是更一般的建议,我已经解决了上面的异常,但它有点通过反复试验(阅读;猜测并看看会发生什么)。
python - Python - Reportlab:使用自定义字体时出错
我使用reportlab 框架来创建pdf。我还在我的 pdf 文件中使用了一种名为“3of9”的自定义字体。现在,有时我会收到以下错误:
IOError: Cannot open resource "/usr/lib/python2.6/site-packages/reportlab/fonts/LeERC___.AFM", while looking for faceName='3of9'
这不是每次都发生,而是经常发生。在大多数情况下,一切正常,所以我不知道为什么会出现错误。
有谁知道如何解决这个问题?