首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中通过追加合并PDF

在python中通过追加合并PDF
EN

Stack Overflow用户
提问于 2021-02-15 02:35:41
回答 1查看 437关注 0票数 0

是否可以在不覆盖的情况下合并PDF?

例如,在取自Merge PDF files的代码中:

代码语言:javascript
复制
from PyPDF2 import PdfFileMerger

pdfs = ['file1.pdf', 'file2.pdf', 'file3.pdf', 'file4.pdf']

merger = PdfFileMerger()

for pdf in pdfs:
    merger.append(pdf)

merger.write("result.pdf")  # writing line
merger.close()

在“写入行”中,我们创建了一个全新的PDF文件,因此,我们拥有的文件越多,花费的时间就越多,这并不是最优的。我认为,如果我们有现有的PDF文件而不是空的PdfFileMerger(),并附加每个新的PDF到它,等等,代码可以优化很多。

如果这是可能的PDF?

EN

回答 1

Stack Overflow用户

发布于 2021-07-23 20:53:55

如果您对其他选项持开放态度,那么您可以使用Aspose.PDF Cloud SDK for Python附加/合并PDF文档,而无需创建新的空PDF文件。目前,该应用编程接口处理来自云存储(亚马逊S3、DropBox、Google Drive Storage、Google Cloud Storage、Windows Azure Storage、FTP Storage和Aspose Cloud Storage)的文件。但是,在未来,我们计划支持请求主体(流)。

代码语言:javascript
复制
import os
import asposepdfcloud
from asposepdfcloud.apis.pdf_api import PdfApi
from shutil import copyfile

# Get Client ID and Secret from https://cloud.aspose.com
pdf_api_client = asposepdfcloud.api_client.ApiClient(
    ClientSecret='xxxxxxxxxxxxxxxxxxxxx',
    ClientId='xxxx-xxxx-xxxx-xxxx-xxxxxxxx')

pdf_api = PdfApi(pdf_api_client)

file_name_list = ['4pages.pdf', '02_pages.pdf', 'Sample.pdf']
for file_name in file_name_list:
    pdf_api.upload_file(file_name,file_name)
        
result_name = 'MergingResult.pdf'
        
i = 0
for el in file_name_list:
        file_name_list[i] = el
        i += 1

merge_documents = asposepdfcloud.models.MergeDocuments(file_name_list)

opts = {
              "merge_documents" : merge_documents
        }

response = pdf_api.put_merge_documents(result_name, **opts)

#download PDF file from storage
response_download = pdf_api.download_file(result_name)
copyfile(response_download, result_name)
print(response_download)

附言:我是Aspose的开发者布道者。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66198751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档