是否可以在不覆盖的情况下合并PDF?
例如,在取自Merge PDF files的代码中:
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?
发布于 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)的文件。但是,在未来,我们计划支持请求主体(流)。
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的开发者布道者。
https://stackoverflow.com/questions/66198751
复制相似问题