我有一个空白的pdf文件。我得到一些字节的内容并写在这个pdf文件中。我又得到了一些字节,我想将它附加到现有的pdf文件中。我尝试在'ab'和'a + b'模式下打开pdf文件,但内容不会附加覆盖。请帮助我实现这一目标。
这是代码 -
get_view_pdf_url = "http://localhost:8000/api/3.0/sites/a18ab9c9-c523-4848-9199-8c50e100ac36/views/e948dd8c-31b1-480a-8123-fecf47b1c682/pdf"
reqPDF = requests.get(get_view_pdf_url, data=b'', headers={'x-tableau-auth': token})
reqPDF.raise_for_status()
print((reqPDF.content))
filename = "C:/Users/pinki.sharma/Desktop/Work/tempmon/pinkiTest.pdf"
with open(filename, 'wb') as f:
f.write(reqPDF.content)
f.close()
get_view_pdf1_url = "http://localhost:8000/api/3.0/sites/a18ab9c9-c523-4848-9199-8c50e100ac36/views/910d1215-59cb-4d63-95fd-7a2b224f18bc/pdf"
reqPDF1 = requests.get(get_view_pdf1_url, data=b'', headers={'x-tableau-auth': token})
reqPDF1.raise_for_status()
print((reqPDF1.content))
with open(filename, 'a+b') as f1:
f1.write(reqPDF1.content)
f1.close()
答案 0 :(得分:0)
PDF是复杂的结构化文档,如果你只是逐个字节地粘贴2个完整的pdf文件,你会得到一个更大的文件,但只会看到最后一个文档。
就好像你有10页并且你在下一页上面粘上一页 - 你的堆栈变得越来越大但你只能访问顶层。
如果你想将一个pdf的页面添加到另一个pdf中,你必须将它们插入第一个pdf的正确部分 - this answer by @ImportanceOfBeingErnest:
中描述了一种方法。您可能希望使用pyPdf。
# Merge two PDFs from pyPdf import PdfFileReader, PdfFileWriter output = PdfFileWriter() pdfOne = PdfFileReader(file( "some\path\to\a\PDf", "rb")) pdfTwo = PdfFileReader(file("some\other\path\to\a\PDf", "rb")) output.addPage(pdfOne.getPage(0)) output.addPage(pdfTwo.getPage(0)) outputStream = file(r"output.pdf", "wb") output.write(outputStream) outputStream.close()