在python目录中所有pdf的末尾附加一页pdf

2024-10-06 11:23:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在目录中的所有发票pdf的末尾添加一个1页的pdf(lastpage),然后根据filestart('ICO\'+HH Name)将pdf重命名为newname。你知道吗

问题1.)我的代码是在1页(1=1+last,2=1+2+last,等等)顶部对以前的发票求和。我尝试过在rowcount=rowcount+1之前清除filename(filename=“”),但也没有帮助。你知道吗

问题2.)当filestart遇到类似的姓氏(smitht和smithr)时,我将得到一个错误,即当我知道该文件是另一个发票时,该文件已经存在。有没有办法解决这个问题?你知道吗

import os
from openpyxl import load_workbook
from PyPDF2 import PdfFileMerger, PdfFileReader

book = load_workbook("/Invoice Names.xlsx")
ws = book.get_active_sheet()

lastpage = "/Invoice Last Page.pdf"
merger = PdfFileMerger()

rowcount = 2
for r in ws.rows:
    filestart ='ICO_' + ws.cell(row = rowcount, column = 1).value
    newname = ws.cell(row = rowcount, column = 2).value  
    for filename in os.listdir("invoices directory"):
        if filename.startswith(filestart):
            merger.append(PdfFileReader(file(filename, 'rb')))
            merger.append(PdfFileReader(file(lastpage, 'rb')))
            merger.write(newname)
            rowcount = rowcount + 1

Tags: 文件importwspdfos发票filenamemerger
1条回答
网友
1楼 · 发布于 2024-10-06 11:23:07

1)为每个合并创建一个merger的新实例(即在循环中移动它):

...
for r in ws.rows:
    merger = PdfFileMerger()

2)如果没有精确的复制步骤,很难说

相关问题 更多 >