原文链接:https://blog.csdn.net/jylonger/article/details/81109629

目前只针对纯PDF图片压缩

实现原理: 主要通过PYMUPDF进行图片提取,图片压缩,再合并生成一个新的PDF。

最后用Pyqt封装成EXE

1. 提取原PDF关键代码

pdffile = "t2.pdf"

doc = fitz.open(pdffile)

width, height = fitz.PaperSize("a4")

totaling = doc.pageCount

for pg in range(totaling):

page = doc[pg]

zoom = int(100)

rotate = int(0)

print(page)

trans = fitz.Matrix(zoom / 100.0, zoom / 100.0).preRotate(rotate)

pm = page.getPixmap(matrix=trans, alpha=False)

lurl='pdf/%s.jpg' % str(pg+1)

pm.writePNG(lurl)

doc.close()

2.合并图片生成PDF

#coding:utf-8

import glob

import fitz

import os

def pictopdf():

doc = fitz.open()

for img in sorted(glob.glob("pdf/*")): # 读取图片,确保按文件名排序

print(img)

imgdoc = fitz.open(img) # 打开图片

pdfbytes = imgdoc.convertToPDF() # 使用图片创建单页的 PDF

imgpdf = fitz.open("pdf", pdfbytes)

doc.insertPDF(imgpdf) # 将当前页插入文档

if os.path.exists("newpdf.pdf"): # 若文件存在先删除

os.remove("newpdf.pdf")

doc.save("newpdf.pdf") # 保存pdf文件

doc.close()

3、效果图如下:

原PDF大小:44.2M,压缩后:7.2M

4,pyqt实现的PDF压缩工具下载:

python压缩pdf_【转】PDF 用python 压缩相关推荐

  1. 好用到爆的Python自动化办公教程pdf,Python × Excel × Word × PPT 一次搞定

    在这个自动化时代,我们有很多重复无聊的工作要做.想想这些你不再需要一次又一次地做的无聊的事情,让它自动化,让你的生活更轻松.那么在本文中,我将向您介绍一个好用到爆的Python自动化办公教程pdf,P ...

  2. 经验分享:如何使用PDF压缩器将PDF文件进行压缩

    很多人说,想要将较大的pdf文件进行压缩的话,可以借助pdf压缩器的帮助,可有了工具,大家却不知道如何进行格式压缩,接下来,小编就使用一个简单的方法教大家压缩pdf文件,就是----在线压缩pdf文件 ...

  3. 图片脚本:Python实现图片转pdf、Python生成gif动图

    文章目录 png转pdf(批处理) GIF生成器(批处理) png转pdf(批处理) 在使用overleaf时,如果项目太大,后期会导致一直"编译超时"等异常,充会员也无法解决.此 ...

  4. 疯狂python讲义pdf_如何自学成Python大神?这份学习宝典火爆 IT 圈!

    都说人生苦短,我用 Python.为什么? 简单明了的理由当然是开发效率高.但是学习 Python 的初学者往往会面临以下残酷的现状: 网上充斥着大量的学习资源.书籍.视频教程和博客,但是大部分都是讲 ...

  5. 金融工程及其python应用pdf_金融工程及其Python应用

    金融工程及其Python应用 编辑 锁定 讨论 上传视频 <金融工程及其Python应用>是2019年1月清华大学出版社出版的图书,作者是朱顺泉. 书    名 金融工程及其Python应 ...

  6. python趣味案例编程 Pdf,小小的python编程故事

    python编程 20 Python编程请选择编玩边学.Python是一种全新的程序设计语言,可以用它很容易地创造交互式故事情节.动画.游戏.他"我们的目的不是要创办电脑程序编写大军,而是帮 ...

  7. python批量图片转pdf,用python 制作图片转pdf工具

    最近因为想要看漫画,无奈下载的漫画是jpg的格式,网上的转换器还没一个好用的,于是乎就打算用python自己DIY一下: 这里主要用了reportlab.开始打算随便写几行,结果为若干坑纠结了挺久,于 ...

  8. pdf怎样压缩文件大小?pdf大小怎么压缩?

    pdf怎样压缩文件大小?无论是什么文件,一旦文件体积过大就会很麻烦.比如一份PDF文件比较大,传输就会很麻烦.今天分享一个压缩pdf文件的简单方法: 搜索一下:~~~~~~轻云pdf编辑压缩官网 打开 ...

  9. 数字图像处理与python实现 pdf_数字图像处理与Python实现

    领取成功 您已领取成功! 您可以进入Android/iOS/Kindle平台的多看阅读客户端,刷新个人中心的已购列表,即可下载图书,享受精品阅读时光啦! - | 回复不要太快哦~ 回复内容不能为空哦 ...

  10. 压缩pdf大小_PDF压缩到指定大小该怎么操作?分享完成PDF压缩超好用的方法

    PDF文件怎么压缩到指定的大小?大家有没有发现现在很多可以传输文的平台都有文件大小的限制?比如微信,传输的文件大小不得超过10M.如果我们现在需要在微信中发送给同事一份体积很大的PDF文件,在传输之前 ...

最新文章

  1. 林园投资体系+嘴巴经济+病从口入+老龄化
  2. 浅谈likely与unlikely
  3. mongodb常用命令
  4. Spring MVC 入门示例讲解
  5. vue打包关闭console.log
  6. vue移动端项目中统一滚动条样式与效果
  7. 判断一个整数的奇偶性php,【算法】- 判断一个整数是否是奇数
  8. 求完全二叉树结点个数(leetcode 222)
  9. keras遥感图像Unet语义分割(支持多波段多类)
  10. QQ游戏大厅的你画我猜游戏白屏问题解决
  11. oracle没有卸载,oracle卸载没有正确卸载怎么办?
  12. 利用树莓派完成POS58打印机的无驱动打印(初学者)
  13. 41、财务总账科目余额表,三栏式总账,三栏式明细账 查询条件科目增加多选查询
  14. 2021年第四届“安洵杯”网络安全挑战赛Writeup
  15. 6、厘米换算英尺英寸
  16. 谈谈值得注意的高危端口
  17. UE4材质(二):PBR材质
  18. 【其他】程序员装修指南
  19. VS 2010错误提醒: 必需属性“VSInstallDir”缺失或为空 以及 error MSB8008
  20. 【安装cad后不小心卸了,再次重新安装时显示已安装。这个怎么破?】

热门文章

  1. Mac安装brew/yum
  2. 最新数据!国内5G手机出货已超29万部
  3. 网易云音乐API,的调用方法 ,vue项目中(在本地使用)
  4. Scrum立会报告+燃尽图(十月十七日总第八次)
  5. pdf文件流转图片流方法(PDF文档所有页全部转换为图片 )
  6. iOS直播(流媒体)基础原理篇
  7. excel可以用python语言_用python打开excel的方法
  8. 利用VBA在Word中排出漂亮的代码
  9. 【AI 2021】Adobe Illustrator 2021 软件下载及安装教程
  10. hive跑mr时报错,java.lang.IllegalArgumentException: The value of property yarn.resourcemanager.zk-address