|
|
本帖最后由 weist123 于 2025-2-18 22:37 编辑
用老马的PdfToy解决Zlib下载的某些pdf背景闪烁、翻页非常慢的毛病
以前在zlib保存过一些经典英文书籍,体积也不大,而且有ocr文本,是双层pdf,但最忍受不了的毛病是打开后,翻到每一页都页面闪烁,而且翻页特别慢,半天页面才显示出来。
不是阅览器的问题,用了adobe、SmatraPDF,还有高版本UV都是这样。
知道老马的PdfToy功能强大,可是我不太会用,今天请老马在线指导搞定了这个问题,特地记下来免得遗忘,而且也可以给有同样问题的朋友做个参考。
先选择要处理的pdf,用PdfToy的文件结构--导出pdf页面树,会导出一个txt文件,里面记录了每页的情况,这个pdf每页都是类似这种的信息,这里以第1页为例:
- <div>page 1: 9 0 R
- used images:
- 1818 0 R: 2304 x 3396, JPX, DeviceRGB, comps=3, bits=8
- 1820 0 R: 2304 x 3396, JPX, DeviceRGB, comps=3, bits=8, SMask=1821 0 R
- 1820 0 R: 2304 x 3396, JPX, DeviceRGB, comps=3, bits=8, SMask=1821 0 R
- (smask) 1821 0 R: 2304 x 3396, JBIG2
- content:
- 10 0 R
- 1819 0 R
- 1822 0 R</div>
复制代码 按老马的原话,“图像格式是jpeg 2000(JPX就是),使用了DjVu的分层技术,PDF解析JPEG 2000本来就慢,还要做分层合并,每页都有好几张大尺寸JPEG 2000,能快起来才有鬼”。
处理方法有2种:
一、用PdfToy导出图片成DjVu,然后用DjVuToy.exe合并成一个多页DjVu。然后再转为pdf。PT导出图片的时候记得勾选“反转蒙版”,就是正常的DjVu,白底黑字,否则出来的页面是黑底白字,不过也很酷!但缺点就是不是双层pdf了,文本层已经丢失。可惜了!
步骤1、打开PdfToy,进入PdfToy的导出图像菜单,选择要处理的pdf,记得勾选“反转蒙版”,导出即可,结束后在文件夹里面发现每一页都产生了3个文件:
包括两个jp2文件和一个_mask.djvu文件。而且还有类似报错(不用管):
- <div>0001_obj1821_mask.djvu
- 数据结构可能与原图有差异,因为源JBig2数据流中含有Generic区域。</div>
复制代码 步骤2、打开DjVuToy.exe,进入文件合并菜单,选择刚才导出图像的那个文件夹,选择合并后DjVu文件的保存位置,点击开始合并即可。
步骤3、转为pdf,进入DjVuToy的“转pdf”菜单,选择刚才生成的多页DjVu文件,点击开始转换即可。最终效果是,pdf翻页最快,但不再是双层pdf了,文本层丢失,但体积最小。
黑底白字的pdf也感觉意外,很酷啊:
二、用PdfToy强大的流过滤功能,把
替换成空即可。最终效果是,pdf翻页也很快,感觉速度提高了好几倍,而且保留了彩色背景(经老马指正,这里应该是去掉了背景,保留了彩色前景),而且仍然是双层pdf,体积也变小了点儿,真是神奇!
----------------------------------------------------------------------------------------------------------------
感谢老马指导,感谢开发如此牛的软件,PdfToy最新版本是0.29了,我已经升级到了最新版。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
评分
-
4
查看全部评分
-
|