|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 中英文泡椒 于 2024-4-10 10:58 编辑
- import os
- import shutil
- from PyPDF2 import PdfFileReader, PdfFileWriter
- def compress_pdf(input_path, output_path, max_size):
- input_file =open(input_path, 'rb')
- input_pdf =PdfFileReader(input_file)
- output_pdf=PdfFilewriter()
- for i in range(input_pdf.getNumPages()):
- output_pdf.addPage(input_pdf.getPage(i))
- #压缩 PDF
- output_stream =open(output_path,'wb’)
- output_pdf.write(output_stream)
- output_stream.close()
- #检查 PDF 大小是否符合要求
- while os.path.getsize(output_path) > max_size:
- input_file =open(output_path, 'rb')
- input_pdf = PdfFileReader(input_file)
- output_pdf=PdfFilewriter()
- for i in range(input_pdf.getNumPages()):
- output_pdf.addPage(input_pdf.getPage(i))
- output_stream=open(output_path,'wb')
- output_pdf.write(output_stream)
- output_stream.close()
- input_file.close()
- if __name__ == "__main__":
- input_path ='example.pdf'
- output_path='example_compressed.pdf'
- max_size=1024 * 1024 # 1MB
- compress_pdf(input_path, output_path, max_size)
复制代码
|
|