问题标签 [pdfrw]
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 - 通过 Flask 提供动态 PDF,由 pdfrw 生成
我正在尝试通过 Flask 向我的用户提供动态 PDF。他们填写表格以获得一些计算结果,但他们希望将值自动填充到 PDF 模板中,然后将其打印在纸上。
我让它在本地工作,只是将值填充到 PDF 模板中,但我不知道如何将它工作到我的 Flask 应用程序中。我在本地得到的是一个模板 PDF 文件、一个包含值的字典、一个将值填充到模板并将其写入新 PDF 文件的函数。当你用 Flask 托管它时,我希望它动态地为他们提供由函数创建的新 PDF,而不是将其写入文件。
我正在使用 pdfrw 库进行 pdf 修改,我意识到我可能需要使用 make_reponse 或 IO 或组合。只是不知道如何从 pdfrw 获取结果而不是文件。或者从哪里开始。
这是功能:
所以我想,我怎么得到这条线
能够与例如服务。make_reponse 或 IO 或可能?当我让它工作时,我将为此在烧瓶中的 /pdf 路线上制作一个按钮-href。
对不起,我对此很陌生,试图满足我的用户的愿望。
感谢您的任何指导或指导。
python - 如何使用 python pdfrw 库编辑复选框并将更改保存在可编辑的 pdf 中?
我正在尝试根据用户输入编辑可编辑 pdf 上的复选框。我可以使用 pdfrw 编辑文本字段,如下所示:https ://bostata.com/how-to-populate-fillable-pdfs-with-python/
但是,我仍然无法保存对复选框值的更改。在本地,我可以看到输出文件中复选框的更改。但是,当我将文件上传到 AWS S3 存储桶时,不会保存更改。我不确定问题是什么。任何帮助,将不胜感激。谢谢!
python - 如何将 io.BytesIO pdfrw PDF 保存到 Django FileField
我想做的基本上是:
- 从 URL 获取 PDF
- 通过 pdfrw 修改
- 将其作为 BytesIO obj 存储在内存中
- 通过将其上传到 Django FileField
Model.objects.create(form=pdf_file, name="Some name")
我的问题是,当该方法运行时,create()
它会保存除.form
助手.py
视图.py
如您所见,print()
填充 BytesIO 时会给出两个不同的值,这让我相信大小的增加意味着其中实际上有数据。是否有原因无法正确保存到我的 django 模型实例中?另外,如果有人知道更有效的方法来做到这一点,请告诉我!
python - 读取 PDF 表单文件并返回可填写的字段坐标和字段名称
我有一个 PDF 文件,它本质上是一个表格。我需要返回可填充的位置;要填写哪些字段,它们的页码和我可以放置边界框的坐标。
我采用了各种方法来处理这个问题,但事实证明,使用 PDF 非常困难。
有关 PDF 文件的详细信息:
返回:
到目前为止我所做的是;我可以阅读页面并填写大部分时间都会遇到或错过的表格,但我不想填写表格,我只需要获取表格应填写位置的坐标并放置一个边界框在适当的地方。
上面的代码并不总是返回填充了标记字段的 PDF,不是特别有用。我不知道从这里去哪里。如果有人可以帮助我,因为我已经用尽了几乎所有可用的资源。我是使用 PDF 的新手。
python - Pyinstaller 不使用 pdfrw 创建功能可执行文件
我正在尝试使用 pyinstaller 创建一个可执行文件,但它在启动该可执行文件后立即崩溃。应该注意的是,该程序在 PyCharm 中运行良好。我已经将它缩小到只有一行代码,这会导致它使用另一个 python 文件出错 - 如果文件包含'''import pdfrw''',它将在启动由 pyinstaller 创建的可执行文件时立即崩溃。
我已经从以管理员模式运行的命令提示符尝试了以下命令,所有这些都给出了相同的结果(这是在将目录更改为 .py 文件所在的位置之后):
pyinstaller "compiling test.py"
pyinstaller --onefile "compiling test.py"
pyinstaller --onedir "compiling test.py"
在 import 语句周围使用 try/except 子句,我可以在关闭可执行文件之前看到错误消息,它说:
无法加载本机模块“Crypto.Cipher._raw_ecb”:尝试“_raw_ecb.cp36-win_amd64.pyd”:无法加载库“C:\Users\KYLE~1.AFF\AppData\Local\Temp_MEI534042\Crypto\Util..\ Cipher_raw_ecb.cp36-win_amd64.pyd':错误 0x7e。此外,ctypes.util.find_library() 无法找到名为 'C:\Users\KYLE~1.AFF\AppData\Local\Temp\_MEI534042\Crypto\Util\..\Cipher\_raw_ecb.cp36- 的库win_amd64.pyd',尝试 '_raw_ecb.pyd':无法加载库 'C:\Users\KYLE~1.AFF\AppData\Local\Temp_MEI534042\Crypto\Util..\Cipher_raw_ecb.pyd':错误 0x7e。此外,ctypes.util.find_library() 无法找到名为“C:\Users\KYLE~1.AFF\AppData\Local\Temp\_MEI534042\Crypto\Util\..\Cipher\_raw_ecb.pyd”的库
有没有办法可以修改规范文件以正确生成文件(或其他解决方案)?当我需要使用 python-docx 制作可执行文件时,我发现了类似的东西(而且我很可能也需要为这个程序执行此操作,因为我试图制作可执行文件的原始 python 程序也使用 python-docx as pdfrw): PyInstaller 和 python-docx 模块不能一起工作
提前感谢您的帮助。
python - 使用 pdfrw 处理后无法移动/删除 PDF
我已经更新了问题以包含大部分代码,因为我觉得其中可能有一些相互阻塞......可以通过简单地将一个或两个 pdf 文件添加到您的 c:\temp 文件夹(在视窗)。我刚开始使用 Python,所以可能缺少基本的东西......
我得到的问题是PermissionError: [WinError 32] The process cannot access the file because it is being used by another process
。
文件夹和文件存在。
有任何想法吗?
python - 合并 PDF,同时保留自定义页码(又名页面标签)和书签
我正在尝试自动合并几个 PDF 文件并有两个要求:a)现有书签和 b)需要保留页面标签(自定义页码)。
默认情况下,合并时保留书签在 PyPDF2 和 pdftk 中发生,但在 pdfrw 中没有。在 PyPDF2、pdftk 或 pdfrw 中始终不保留页面标签。
我猜测,经过大量搜索后,没有直接的方法可以做我想做的事。如果我错了,那么我希望有人能指出这个简单的解决方案。但是,如果没有简单的解决方案,任何关于如何在 python 中实现这一点的提示将不胜感激!
一些示例代码:
1) 使用 PyPDF2
所以我不知道如何从这里开始
2) 使用 pdfrw (有更多承诺)
来自第二个文件的书签的页码需要在添加它们之前进行偏移,但是在阅读大纲时,我几乎总是得到 (IndirectObject, XXX) 而不是页码。不清楚如何使用 pdfrw 获取每个标签和书签的页码。所以,我又卡住了
zp
python - 除非在使用 pdfrw 填写后单击,否则 PDF 表单数据不可见
我正在尝试使用pdfrw
Python 3.x 中的库填充表单数据。所以基本上我遵循了本教程 -为任务创建脚本的链接。
表格正在填写,除非我点击它,否则我看不到它。
鼠标点击后——
字段数据在打印预览中也不可见。生成后如何使其成为没有任何可点击字段的普通pdf?