Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Python向PDF添加文本_Python_Pdf_Pypdf2 - Fatal编程技术网

通过Python向PDF添加文本

通过Python向PDF添加文本,python,pdf,pypdf2,Python,Pdf,Pypdf2,现在,我正在尝试使用PyPDF2自动化填写文档的过程。我看过所有的文档和一些StackOverflow文章,但我基本上看到了相同的示例代码,这并没有把我带到任何地方。现在代码只是复制basePDF文件,并将文本添加到刚刚复制的新文件中。但是,当尝试添加文本并将其保存到新文件时,它只是清除所有内容,并将其变成带有“Hello World”的空白PDF。如何在不清除所有内容的情况下,将原始模板与新文本保持在一起 我的代码: 从PyPDF2导入PdfileWriter、PdfileReader 输入i

现在,我正在尝试使用PyPDF2自动化填写文档的过程。我看过所有的文档和一些StackOverflow文章,但我基本上看到了相同的示例代码,这并没有把我带到任何地方。现在代码只是复制basePDF文件,并将文本添加到刚刚复制的新文件中。但是,当尝试添加文本并将其保存到新文件时,它只是清除所有内容,并将其变成带有“Hello World”的空白PDF。如何在不清除所有内容的情况下,将原始模板与新文本保持在一起

我的代码:

从PyPDF2导入PdfileWriter、PdfileReader
输入io
从reportlab.pdfgen导入画布
从reportlab.lib.pagesizes导入信函
从shutil导入复制文件
复制文件(“basePDF.pdf”、“newPDF.pdf”)
打开(“newPDF.pdf”)
#PyPDF2定义
packet=io.BytesIO()
##阅读现有PDF
can=canvas.canvas(“newPDF.pdf”)
can.setFont(“Courier”,16)
抽绳(10100,“你好,世界”)
can.抽绳(0,-10,“你好,世界”)
抽绳(10,-100,“你好,世界”)
can.save()
#文本已保存,但现在是带有“Hello World”的空白PDF

提前谢谢

如前所述,试试这个

从PyPDF2导入PdfileWriter、PdfileReader
输入io
从reportlab.pdfgen导入画布
从reportlab.lib.pagesizes导入信函
复制文件(“newPDF.pdf”、“basePDF.pdf”)
packet=io.BytesIO()
#你想写什么就写什么
canvas.canvas(数据包,页面大小=字母)
抽绳(10100,“你好,世界”)
can.save()
#移动到StringIO缓冲区的开头
包搜索(0)
新pdf=PdfFileReader(数据包)
#阅读你现有的PDF文件
现有pdf=PdfileReader(开放(“basePDF.pdf”、“rb”))
输出=PdfileWriter()
#在现有页面上添加“水印”(即新的pdf)
page=existing\u pdf.getPage(0)
page.mergePage(新建_pdf.getPage(0))
output.addPage(第页)
#最后,将“输出”写入实际文件
outputStream=open(“destination.pdf”、“wb”)
output.write(outputStream)
outputStream.close()

PdfFileWriter()中没有方法
.drawString
classYea刚刚发现,现在没有输出/更改。更新了代码。什么是
打开(“newPDF.pdf”)
?它就在那里,我可以在我的IDE中看到它弹出,没有它我无法打开它查看更改。你想在现有的pdf上写吗?啊,谢谢!这个解决方案成功了。