前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python PdfFileMerger

python PdfFileMerger

原创
作者头像
刀枪不入de王二花
发布2022-08-25 18:33:38
2500
发布2022-08-25 18:33:38
举报
文章被收录于专栏:BETTER

python 3.9

PyPDF2==1.26.0

要件:

a.pdf,b.pdf → merge.pdf

  • 导入包:
代码语言:javascript
复制
from PyPDF2 import PdfFileMerger, PdfFileReader
  • 直接写入指定文件中:
代码语言:python
代码运行次数:0
复制
def merge_pdf_document(docs:List[str], file_name:str):
    """PDF merge
    args:
        docs     : file path list e.g.['C://temp//a.pdf','C://temp//b.pdf']
        file_name: output file name e.g. 'merge_file_name.pdf'
    """
    merger = PdfFileMerger()
    for doc in docs:
        file_path = os.path.join(settings.UPLOAD_FOLDER, doc)
        if file_path.endswith('.pdf'):
            merger.append(PdfFileReader(file_path))

    if merger:
        temp_path = os.path.join(settings.UPLOAD_FOLDER, 'zip', file_name)
        merger.write(temp_path)
        merger.close()

  • 返回ByteIO
代码语言:python
代码运行次数:0
复制
def merge_pdf_document(filepath_list:List[str]):
    """PDF merge
    args:
        filepath_list: file path list e.g.['C://temp//a.pdf','C://temp//b.pdf']
    """
    
    merger = PdfFileMerger()
    for file_path in filepath_list:
        file = open(file_path, 'rb')
        if file:
            if doc.name.endswith('.pdf'):
                # PDFのみマージする
                merger.append(PdfFileReader(file))

    if merger:
        output= io.BytesIO()
        merger.write(output)
        merger.close()
        output.seek(0)
        return output
        
    #-------------------------------出力测试-------
    f = open('merge.pdf',"wb")
    f.write(output.getbuffer())
    f.close()
    #-------------------------------出力测试-------

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 要件:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档