找回密码
 注册
搜索
热搜: 超星 读书 找书
楼主: strnghrs

[【其它】] 奇怪的印前PDF

[复制链接]
 楼主| 发表于 2024-10-8 22:11:08 | 显示全部楼层
diverger 发表于 2024-10-8 10:32
发现了一个方便的解决法, 从隔壁页面看到PDF Reducer pro, 在52上找到资源(下面回复的蓝奏云单文件版)

文 ...
还有一个既能替换字体,又不会造成显示错位的办法:用原字体进行替换,如FZSSK就是方正书宋简体。

这个PDF中的字体比较占空间,原因是:这个PDF是由多个PDF合并成的,原先每个用于合并的PDF都使用了内嵌字体,但在做字体内嵌的时候,为了减小最终PDF文件的长度,一般不会把整个字体文件嵌进去,而是只嵌入用到的字,没用到的就不嵌入,所以内嵌字体是原始字体的一个子集(sub-set)。而内嵌字体名也就变成了所谓的“子集字体名”,即随机字符串+原字体名,如FZSSK在不同的PDF内嵌后,就成了BJWFJH+FZSSK、XLIXCH+FZSSK,等等。而在对PDF进行合并的时候,一般会对相同的字体进行合并以减小合并后的PDF文件长度。但这个PDF所用的合并软件可能检查的是子集字体名,而不是原始字体名,所以识别不出相同的原始字体,或者干脆就是偷懒没有对字体进行检查、合并,造成同一个字,可能在不同的子集中都有存在,即存在大量的重复字体信息。要验证这种重复性,可以在Acrobat里打开这个PDF,然后在属性中看字体,可以看到大量的FZSSK。

Acrobat另存为的时候,能够从子集字体名中知道原来的字体是什么,然后就试图对相同的字体(即原始字体相同的子集字体)进行合并,即消除重复性,当然文件长度就降下来了。但是Acrobat在判断不同子集中的字符是否是同一个字符时,显然出了点问题,所以会导致合并后的子集字体可能不全,显示的时候就会报错和丢字。


PDF补丁丁使用的是iTextSharp的技术,别的不好说,至少在替换字体的时候没有Acrobat的问题,既能消除字体重复性,又不会造成文字显示不全,所以能够达到目的。

使用PDF补丁丁,用对应的原版方正字体对FZLSK(隶书)、FZZYK(综艺)、FZSSK(书宋)、FZKTK(楷体)、FZFSK(仿宋)、FZHTK(黑体)、FZXBSK(小标宋)进行替换后,PDF文件长度从93.7MB降到64.0MB,差不多去掉了三分之一。

点评

感谢马老师专业讲解!  发表于 2024-10-9 15:49
回复 1 0

使用道具 举报

 楼主| 发表于 2024-10-8 23:13:36 | 显示全部楼层
diverger 发表于 2024-10-7 12:35
合并前正常文件
https://cloud.189.cn/t/yimaYfNnMrIn(访问码:1ygo)
合并后出错的文件(前言页右下部份 ...

好不容易下载下来看了一下,这个PDF中图像占据了94.65%,字体只占4.74%,其实优化的空间不大
回复

使用道具 举报

 楼主| 发表于 2024-10-9 11:08:07 | 显示全部楼层
diverger 发表于 2024-10-8 10:32
发现了一个方便的解决法, 从隔壁页面看到PDF Reducer pro, 在52上找到资源(下面回复的蓝奏云单文件版)

文 ...

到52pj上把PDF Reducer pro v3.1.21下载下来试了一下,在"选项>图像"里把图像压缩全部取消,跑完后文件长度确实从93.7MB降到了58.1MB,但是用PT导出PDF文件树进行比较以后,发现PDF Reducer pro完全不讲武德,即使在"选项>图像"里把图像压缩全部取消,仍然偷偷摸摸对图像文件进行了修改,在第20、25、31、35……等等一长串的页面中,都把原来JPG(DCT)格式的图像文件,偷摸改成了JBIG2格式。

原来的JPG格式是8位灰度图,虽然对比度大了点,但放大显示的时候看起来只是模糊点,锯齿还不明显,您这把8位灰度图改成了纯黑白的JBIG2格式,文件长度是小了,可显示效果差了啊。不信就以绝对页码20页为例,在Acrobat里放大显示中间那个统计图像,就可以看出差距。

所以,别人我管不了,但这个软件我自己是打死不会去用的。

回复

使用道具 举报

发表于 2024-10-9 13:40:21 | 显示全部楼层
luojineng 发表于 2024-10-7 21:53
卧槽,adobe真的会变空白啊,我特么以前还以为adobe是pdf编辑标杆呢。

标杆个P,早就发现这玩意不靠谱了

它创造的又怎样?后面又不把软件做做好
回复 0 1

使用道具 举报

发表于 2024-10-9 17:39:08 | 显示全部楼层
老大,你太牛了,有你真好,可惜不会操作,
回复

使用道具 举报

发表于 2024-10-14 10:06:54 | 显示全部楼层
学习了,谢谢老马
回复

使用道具 举报

发表于 2024-11-3 17:02:23 | 显示全部楼层
strnghrs 发表于 2024-10-8 22:11
还有一个既能替换字体,又不会造成显示错位的办法:用原字体进行替换,如FZSSK就是方正书宋简体。

这个PDF ...

马老师好,我用补丁丁进行原字体替换,但页面里公式中的部分CambriaMath字体内容仍未正常显示,能否请您帮忙看一下?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

 楼主| 发表于 2024-11-5 15:36:07 | 显示全部楼层
horsebojack 发表于 2024-11-3 17:02
马老师好,我用补丁丁进行原字体替换,但页面里公式中的部分CambriaMath字体内容仍未正常显示,能否请您 ...

用Foxit看,缺字的地方根本就什么都没有,所以你上传的这个PDF已经是残缺的,修不回来
回复

使用道具 举报

发表于 2024-11-5 15:43:19 | 显示全部楼层
strnghrs 发表于 2024-11-5 15:36
用Foxit看,缺字的地方根本就什么都没有,所以你上传的这个PDF已经是残缺的,修不回来
...


谢谢马老师关注,我没装福昕软件,用现用的软件查看、复制到剪贴板都显示有内容,比较奇怪。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-11-22 05:14 , Processed in 0.177114 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表