有哪些Python PDF库?
我需要制作一些带有许多网格的PDF,我正在寻找一个允许管理页面的图书馆(多页).库应该在页面结束时计算,然后创建下一页.
我正在寻找使用Python将网页打印成本地文件PDF的解决方案.一个很好的解决方案是使用Qt,在这里找到,https://bharatikunal.wordpress.com/2010/01/.
它在开始时没有用,因为我遇到了安装PyQt4的问题,因为它给出了错误消息,例如'ImportError:没有名为PyQt4.QtCore的模块'和'ImportError:没有名为PyQt4.QtCore的模块'.
这是因为PyQt4安装不正确.我曾经把库放在C:\ Python27\Lib但是它不适用于PyQt4.
实际上,它只需要从http://www.riverbankcomputing.com/software/pyqt/download下载(请注意您正在使用的正确的Python版本),并将其安装到C:\ Python27(我的情况).而已.
现在脚本运行正常,所以我想分享它.有关使用Qprinter的更多选项,请参阅http://qt-project.org/doc/qt-4.8/qprinter.html#Orientation-enum.
我正在尝试将pdf转换为与我的pdf(A4页面)相同的大小.
convert my_pdf.pdf -density 300x300 -page A4 my_png.png
Run Code Online (Sandbox Code Playgroud)
但是,生成的png文件是595px×842px,它应该是72 dpi的分辨率.我正在考虑使用PIL在一些pdf字段上写一些文本并将其转换回PDF.但目前图像出错了.
编辑:我从错误的角度接近问题.正确的方法根本不包括imagemagick.
我正在创建一个Web界面,用来自数据库的用户数据自动填充pdf表单.管理员需要能够上传pdf(现在以IRS pdf格式为目标),然后将pdf中的字段与数据库中的数据字段相关联.
我需要一种方法来帮助管理员将字段名称(例如"topmostSubform [0] .Page2 [0] .p2-t66 [0]")与数据库中的数据字段相关联.我正在寻找一种以编程方式修改PDF以某种方式提供此信息的方法.
基本上,我愿意接受有关如何使字段名称在原始pdf的修改版本上以明显方式显示的建议.我最接近的是能够通过逐行编辑原始pdf将工具提示插入到pdf中的字段中.但是,当以这种方式编辑pdf时,字段名称是乱码,所以我不能只使用它们.
最佳解决方案是任何可以自动解析pdf并将每个字段的工具提示设置为字段名称的解决方案.任何可以从命令行或任何python工具运行的东西,或者只是从原始pdf文件中正确解析字段名称的基本内容都会令人惊讶.
我有一个pdf文件,需要删除其中的某些文本。然后将下面的新文本添加到现有文本中。\n我\正在尝试使用PyMuPDF library - fitz. 打开文件,设置要搜索的文本,但我没有找到如何删除它并添加新文本。\n请您帮助我如何删除找到的文本并添加到现有文本。\n使用库并不重要,我们可以使用 PyPDF2 等。\n附带说明的示例 pdf 文件。
import fitz\n \ndoc = fitz.open(MyFilePath)\npage = doc[0]\n \ntext1 = \xe2\x80\x9cANA\xe2\x80\x9d\ntext_instances1 = page.searchFor(text1)\n \n# found text should be deleted \xe2\x80\xa6\n \ntext_to_add = \xe2\x80\x9cText\xe2\x80\x9d\ntext2 = \xe2\x80\x9cTAIL NO.\xe2\x80\x9d\ntext_instances2 = page.searchFor(text2)\n \n# should be added "text_to_add" after found text "text2"\n \ndoc.save(OutputFilePath, garbage=4, deflate=True, clean=True)\nRun Code Online (Sandbox Code Playgroud)\n\n 我有一个PDF文件,已从其中删除了一些页面。我想更正(修复)新的pdf页码。有什么方法/库可以在不将pdf转换为另一种格式的情况下更新页码?我试图将pdf转换为文本,XML和JSON,然后修复页码。但是,如果我将其转换回pdf,它看起来很凌乱(无法保留原始pdf的样式)。我遇到的问题是:
我在Ubuntu上使用python。我曾尝试 ReportLab,PyX和pyfpdf。
我想在现有的pdf文件中添加文本或注释,以解释一些关键词。
起初,我尝试了pyPdf和reportlib合并原始pdf文件和新生成的解释pdf文件,但是它不起作用。因为原始文件将所有解释pdf的单词都排除在外,并使新的pdf文件不可见。不知道为什么吗 如果我测试将两个新生成的解释pdf文件合并为一个,则效果很好。
所以我在想尝试使用另一种方式通过python将注释仅插入到现有的pdf文件中。有相关经验的人可以给我建议吗?谢谢!
我面临着向 PDF 添加注释的任务。具体来说,任务是在文件的开头添加一个便签框,并在便签框中添加几行文本。
我需要对大量 PDF 重复执行此操作,因此我希望在 Python 中以编程方式执行此操作。
我已经检查过这个 SOF 线程,但似乎它提出了一个不同的问题,因为它将文本添加到 PDF 中而不是在评论中。
我使用PdfPagesfrom matplotlib,可以遍历每个图形对象,并将每个对象另存为同一PDF中的单独页面:
from matplotlib.backends.backend_pdf import PdfPages
pp = PdfPages('output.pdf')
for fig in figs:
pp.savefig(fig)
pp.close()
Run Code Online (Sandbox Code Playgroud)
这很好。但是,是否可以为PDF中的每一页添加页码?
谢谢。
我正在尝试将matplotlib对象加载到reportlab中.这是我的代码:
from reportlab.pdfgen import canvas
from reportlab.lib.utils import ImageReader
from reportlab.platypus import Paragraph, SimpleDocTemplate, Spacer, Image
from matplotlib import pyplot as plt
def __get_img_data():
"""
returns the binary image data of the plot
"""
img_file = NamedTemporaryFile(delete=False)
plt.savefig(img_file.name)
img_data = open(img_file.name + '.png', 'rb').read()
os.remove(img_file.name)
os.remove(img_file.name + '.png')
return img_data
def get_plot():
# HERE I PLOT SOME STUFF
img_data = __get_img_data()
plt.close()
return img_data
class NumberedCanvas(canvas.Canvas):
def __init__(self):
pass
class ReportTemplate:
def __init__(self):
pass
def _header_footer(self, canvas, doc):
pass
def …Run Code Online (Sandbox Code Playgroud) python ×10
pdf ×8
matplotlib ×2
django ×1
imagemagick ×1
pypdf ×1
python-3.x ×1
qprinter ×1
reportlab ×1
webpage ×1