from PyPDF2 import PdfReader, PdfWriter
def compress_pdf(input_pdf_path, output_pdf_path):
# 打开原始PDF文件
reader = PdfReader(input_pdf_path)
writer = PdfWriter()
# 遍历每一页并添加到新的PDF中
for page_num in range(len(reader.pages)):
page = reader.pages[page_num]
page.compress_content_streams() # 压缩页面内容流
writer.add_page(page)
# 写入压缩后的PDF文件
with open(output_pdf_path, "wb") as output_file:
writer.write(output_file)
# 示例调用
compress_pdf("input.pdf", "output_compressed.pdf")
PyPDF2
库中的 PdfReader
和 PdfWriter
类来读取和写入 PDF 文件。compress_pdf
:PdfReader
打开输入的 PDF 文件。PdfWriter
创建一个新的 PDF 写入对象。reader.pages
获取所有页面,并逐页处理。page.compress_content_streams()
方法压缩页面内容流。writer
对象中。writer.write()
方法将压缩后的内容写入到指定的输出文件。PyPDF2
库,可以使用 pip install PyPDF2
安装。上一篇:python查看库版本
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站