Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

针对扫描的PDF文档压缩 #214

Open
zwo1a opened this issue Jun 25, 2024 · 5 comments
Open

针对扫描的PDF文档压缩 #214

zwo1a opened this issue Jun 25, 2024 · 5 comments
Assignees
Labels
❤️ 好建议 改进 New feature or request

Comments

@zwo1a
Copy link

zwo1a commented Jun 25, 2024

使用场景
扫描文件太大,需要压缩

功能应该怎样实现
对于有图又有文、有排版的PDF文档来说压缩是比较困难的,但是扫描的文档一页就是一张图,是有办法解决的:
目前可以通过 PDFPatcher 已有的提取图片功能将图片导出,然后使用批量压缩图片的其他软件缩水分辨率、转换图片格式,然后再用合并文档功能重新合并为PDF。

类似软件
Adobe Acrobat
https://github.com/ocdi/PdfShrinker

其它内容

  1. issues205:能否添加先进的图像优化算法用于压缩PDF
  2. PDF 压缩,过去已被讨论过无数次,对于没有经验的人来说是痛点问题。经常看到有人因为无法压缩 PDF,而使用某些软件或在网页上查找 PDF 压缩网站,他们十万火急时发现下载要付费,这时很多人就被这些”奸诈“的商家”乘火打劫“。虽然提升信息素养才是解决问题的根本之道,但某些用户真的需要”一键“。
@wmjordan wmjordan added 改进 New feature or request ❤️ 好建议 labels Jun 25, 2024
@wmjordan
Copy link
Owner

我不掌握高效压缩的图像处理算法,针对特定图片处理也有大量的现成工具,只是修改了图片之后不方便重新写入图文混排的PDF文档。也许可以做一个这样的功能,将所有图片编号,导出到一个文件夹,然后用户可以修改图片(可以改文件类型,但不能改文件名),之后使用重写图片的功能,把修改过的图片重新写入文档。

@lforlgg
Copy link

lforlgg commented Jun 26, 2024

我不掌握高效压缩的图像处理算法,针对特定图片处理也有大量的现成工具,只是修改了图片之后不方便重新写入图文混排的PDF文档。也许可以做一个这样的功能,将所有图片编号,导出到一个文件夹,然后用户可以修改图片(可以改文件类型,但不能改文件名),之后使用重写图片的功能,把修改过的图片重新写入文档。

解包并修改pdf的内在文件。这样的软件有不少了,并且免费,比如马健先生那边的免费小工具里就有,解出来,修改调整,压回去都有,一条龙了。另外系列pdf付费工具里这个也比较常见。

@zwo1a
Copy link
Author

zwo1a commented Jun 29, 2024

我不掌握高效压缩的图像处理算法,针对特定图片处理也有大量的现成工具,只是修改了图片之后不方便重新写入图文混排的PDF文档。也许可以做一个这样的功能,将所有图片编号,导出到一个文件夹,然后用户可以修改图片(可以改文件类型,但不能改文件名),之后使用重写图片的功能,把修改过的图片重新写入文档。

解包并修改pdf的内在文件。这样的软件有不少了,并且免费,比如马健先生那边的免费小工具里就有,解出来,修改调整,压回去都有,一条龙了。另外系列pdf付费工具里这个也比较常见。

这位朋友应该指的是马健的 ComicEnhancerPro,确实是很实用的软件。

想让图像的文件大小减少,常用的方式有几种:

  1. 缩减分辨率、缩减采样精度
  2. 转换图像格式:如将无损格式转换为有损格式
  3. 调整质量参数和压缩级别:对于JPEG,可以降低 JPEG 的质量参数;对于 PNG 可以调整压缩级别。
  4. 对图像进行优化:如调整色阶、亮度、对比度使扫描图像效果更好的同时,会同时减少数据量。
  5. 缩减色彩数:如将彩色图像转为灰度图像;对于纯黑白的扫描图像,可将其进行二值化(转为单色图像),可以有效减少图像的文件大小。

前3种方式,应该是可以比较容易做成“一键”的功能:
输入图像->降低分辨率->如果是 PNG 格式的彩色图像,转为 JPEG->判断大小是否实际减少,否则保留原始图像

以上这些方式,在目前 PDFPatcher 的 “转换为图片” 页面的选项中基本都有。(包括减少分辨率、减少颜色、调整 JPEG 质量、图像格式)但是在“提取图片”功能中只可以提取原始质量的图像。

对于先前 issues205 提到的“高效压缩的图像处理算法”,我认为“传统的图像处理算法”其实质量并没有非常糟糕,只不过 Acrobat 菜单中的“减少文件大小”功能会把质量参数调得非常低,所以图像很糊,产生非常多的压缩伪影。
对于有一定经验的用户、想要精心调整调整电子书的,一般他们都已经有自己的工具了。而需要这项功能的,是追求快捷或经验较少的用户,所谓的“传统的图像算法”大抵是已经够用了,他们是不追求“把图像压缩、优化到极致”的。

@wmjordan
Copy link
Owner

前3种方式,应该是可以比较容易做成“一键”的功能:
输入图像->降低分辨率->如果是 PNG 格式的彩色图像,转为 JPEG->判断大小是否实际减少,否则保留原始图像
......
需要这项功能的,是追求快捷或经验较少的用户,所谓的“传统的图像算法”大抵是已经够用了

嗯,这种简化问题的思路也是非常合理的,也许可以有“一键”的解决方案。

@lforlgg
Copy link

lforlgg commented Jul 1, 2024

嗯,这种简化问题的思路也是非常合理的,也许可以有“一键”的解决方案。

对的,国产最主流的foxit福昕PDF编辑就有。其他还有PDF Compressor一类的一众小软件也有... 并且做的很成熟了。

A01_ziped

A02_ziped

@wmjordan wmjordan self-assigned this Jul 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
❤️ 好建议 改进 New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants