PDF打开显示乱码或格式错误?可能是版本兼容问题
文章摘要
老版本软件打不开新PDF?新软件打开老文件显示乱?PDF也有版本之分,从1.0到2.0差别挺大的。教你怎么判断兼容性问题,以及怎么转成兼容的版本。
PDF打开乱了?可能是版本兼容问题
PDF也有版本号,搞清楚了省很多事
前阵子客户反映收到的PDF打开全是乱码,我这边看着好好的。后来发现他用的是2010年的Acrobat Reader,而我用Adobe导出时默认存成了PDF 2.0格式。改成1.5就全好了。这种事不少见,今天专门说说PDF版本那些事。
PDF也有版本号?
很多人不知道,PDF跟软件一样也有版本迭代。从1993年的1.0一路更新到现在的2.0,每个版本都加了新功能:
新版本向下兼容,但旧软件不认识新版本。就像用老手机打开新格式视频,可能直接打不开或者花屏。
怎么看PDF是什么版本
两种方法,都很简单:
方法1:Adobe Acrobat看属性
文件 → 属性(Ctrl+D)
在"说明"标签里能看到"PDF版本"
比如显示"1.7 (Acrobat 8.x)"
方法2:记事本打开看第一行
右键PDF,用记事本打开
第一行就是版本信息
比如:%PDF-1.5 或 %PDF-2.0
记事本这个方法特别快,不用打开PDF软件就能看。发现是2.0版本,对方软件老,就知道要降级了。
常见的兼容性问题
遇到过的兼容问题,大概这几种:
直接打不开
软件太老,根本不认识新版本PDF。换个新软件或者降版本。
显示乱码
字体嵌入方式不兼容,或者用了旧软件不支持的压缩算法。
图层显示异常
PDF 1.5之前没有图层功能。用了图层的文件在旧软件里可能图层全叠在一起或者乱显示。
表单填不了
新版本的表单格式旧软件不支持,点字段没反应。
怎么降版本解决兼容
知道是版本问题了,降级就行了:
Adobe Acrobat降版本:
文件 → 另存为 → 选择PDF格式
点"设置",里面能选PDF版本
从下拉菜单选1.4、1.5、1.6或1.7
另存为新文件,别覆盖原来的
用Ghostscript命令行:
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -sOutputFile=output.pdf input.pdf
把1.5换成你想要的版本号,免费而且能批量处理。
降版本要注意:新版本有些功能旧版本不支持,降级后那些功能可能会丢失。比如从2.0降到1.4,用了新版加密的会失效。降之前先确认一下有没有影响。
PDF/A是什么
有时候会看到PDF/A这个说法,跟普通PDF有什么区别?
PDF/A是专门用于长期归档的PDF标准
所有字体必须嵌入,不允许引用外部资源
不能有加密,不能有JavaScript
确保几十年后还能正常打开
政府文件、法律文书常用这个格式
普通用户基本用不到PDF/A,但如果对方要求提交PDF/A格式,Adobe里有专门的转换选项。
对方打不开我的PDF怎么排查
别人说打不开,别急着说"我这边好好的",按这个流程排查:
1. 问清楚用什么软件打开,老版本软件直接建议升级
2. 确认PDF版本,记事本看第一行
3. 用不同设备测试,Windows、Mac、手机都试试
4. 重新生成一份,选PDF 1.5或1.7,兼容性最好
5. 实在不行换格式,发Word或图片格式
发PDF选什么版本最保险
不知道对方用什么软件,怎么选版本最稳妥:
普通文档:PDF 1.5,兼容性好,文件也不大
要用透明度、图层:PDF 1.5以上
要用AES加密:PDF 1.6以上
对方是大企业、政府机构:PDF 1.7,稳定成熟
不知道对方环境:PDF 1.4,最老最兼容,基本没有打不开的
我平时默认选1.6,够用而且兼容大部分软件。只有特别老的系统才需要降到1.4。
其他影响兼容性的因素
除了版本号,还有几个容易被忽略的地方:
字体没有嵌入
对方电脑没有这个字体,显示就会被替换或者乱码。导出PDF时记得勾选"嵌入所有字体"。
引用了外部资源
有些PDF会引用网络上的图片,在没网的环境就显示不出来。
JavaScript
有JavaScript的PDF,很多阅读器默认禁用脚本,表单自动计算这些功能就失效了。
色彩模式
CMYK色彩模式在某些阅读器显示会偏色,用于印刷的PDF拿来屏幕展示可能颜色不对。
我的经验
发给不确定环境的人,选PDF 1.5或1.6,基本通吃
导出时必须嵌入字体,特别是用了特殊中文字体的
对方打不开,先让他升级软件,再考虑降版本
版本问题用记事本看第一行,两秒就知道
实在解决不了,截图打包发,虽然土但管用
PDF版本兼容问题说难不难,说简单也不简单。记住几个要点:默认用1.5或1.6发文件,字体一定要嵌入,对方打不开先让他升级软件。
遇到版本冲突别慌,记事本打开看一眼,两秒确认问题,再对症下药。99%的兼容问题都能用"降版本"或"更新软件"解决,别把简单问题搞复杂。