我需要使用PyPDF 2制作PDF编辑器。但可悲的是,有大约4-6个视频围绕这个模块,他们都显示了如何编辑和操纵一般屏幕,而不是PDF。所以我自己使用文档来学习如何使用它。我能够单独使用文档完成大部分工作,但是一旦我达到编辑文本的地步,我就找不到任何方法来这样做。
以下是我目前编辑PDF内容尝试:
import PyPDF2
pdf_file = open('pdf name goes here', 'rb')
pdf_reader = PyPDF2.PdfReader(pdf_file)
# Get the page that you want to modify
page = pdf_reader.pages[0]
content_object = page["/Contents"].get_object()
content = content_object.get_data()
modified_content = content + b"\n(new text)"
new_content_object = # i don't know how to create the new content object ):
page.__setitem__("/Contents", new_content_object)
pdf_writer = PyPDF2.PdfFileWriter()
pdf_writer.addPage(page)
with open('output.pdf', 'wb') as pdf_output:
pdf_writer.write(pdf_output)
正如你所看到的,我的问题是我不知道如何创建一个新的内容对象。然而,如果有人能建议我一个python模块来编辑文本,我会非常高兴。谢谢!
2条答案
按热度按时间pbpqsu0x1#
您可以使用来自
reportlab
的Canvas对象来添加文本,然后合并两个PDF。Here解释了如何做到这一点。或者here,他们使用fpdf来替换文件中的文本。1hdlvixo2#
**免责声明:**我是
borb
的作者,在这个答案中使用的库。许多PDF库根本无法轻松地将内容添加到PDF。PDF不是一种简单的格式,大多数库只是将这一困难转嫁给用户。
例如:
如果您可以更改正在使用的工具,请尝试使用
borb
。然后你可以这样做:
您可以在(examples) GitHub repository中找到更多文档。