使用另一個 stackoverflow 問答,我能夠找到部分解決我正在嘗試執行的操作的代碼
預期的結果如下:
使用的代碼導致影像重疊:
import pdfrw
dirPATH = r'c:\users\<username>\projects\concat_pdfs'
pdf1 = os.path.join(dirPATH, 'PDF1.pdf')
pdf2 = os.path.join(dirPATH, 'PDF2.pdf')
def concat_pdfs(pdf1, pdf2, output):
form = pdfrw.PdfReader(pdf1)
olay = pdfrw.PdfReader(pdf2)
for form_page, overlay_page in zip(form.pages, olay.pages):
merge_obj = pdfrw.PageMerge()
overlay = merge_obj.add(overlay_page)[0]
pdfrw.PageMerge(form_page).add(overlay).render()
writer = pdfrw.PdfWriter()
writer.write(output, form)
concat_pdfs(section1, section2, 'result.pdf')
提前致謝!
uj5u.com熱心網友回復:
你有沒有嘗試過
def combine_pdfs(dir_path1, dir_path2, save_path):
pdf1 = pdfrw.PdfReader(dir_path1)
pdf2 = pdfrw.PdfReader(dir_path2)
pdf_writer = pdfrw.PdfWriter()
for page in pdf1.pages:
pdf_writer.addpage(page)
for page in pdf2.pages:
pdf_writer.addpage(page)
pdf_writer.write(save_path)
uj5u.com熱心網友回復:
這是使用PyPDF2庫的示例:
merger = PdfFileMerger()
for filename in files:
f = files[filename]
loc = "/tmp/" secure_filename(filename).replace(".pdf", "") "_" str(time.time()) ".pdf"
f.save(loc)
f.close()
reader = PdfFileReader(loc, "rb")
merger.append(reader)
dest = "/tmp/merged_" str(time.time()) ".pdf"
merger.write(dest)
這是另一個使用pike pdf:
pdf = Pdf.new()
for filename in files:
f = files[filename]
loc = "/tmp/" secure_filename(filename).replace(".pdf", "") "_" str(time.time()) ".pdf"
f.save(loc)
f.close()
reader = Pdf.open(loc)
pdf.pages.extend(reader.pages)
dest = "/tmp/merged_" str(time.time()) ".pdf"
pdf.save(dest)
進口可能看起來像:
import time
import pdfkit
import os
from PyPDF2 import PdfFileMerger, PdfFileReader
from werkzeug.utils import secure_filename
from pikepdf import Pdf
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/371021.html
上一篇:如何從網址中僅提取域名?[復制]

