当前位置:合肥网站优化 > seo教程 >

苹果手机doc文件乱码为什么(iOS9 pdf中文乱码问题的原因与“妥协”办法

来源:懒猫seo博客  作者:懒猫  发布时间:2020-08-13 15:36:18  阅读:  分类:seo教程

导读:前言 iOS9之后的系统存在pdf展示中文的乱码问题,而且是部分pdf文档,有些pdf文档就不会出现乱码现象。至于之前的系统版本是否存在这个问题,根据个人了解,应该是没有的。 查了很...

前言

iOS9之后的系统存在pdf展示中文的乱码问题,而且是部分pdf文档,有些pdf文档就不会出现乱码现象。至于之前的系统版本是否存在这个问题,根据个人了解,应该是没有的。

查了很多资料,关于乱码的成因,大都说是因为iOS9升级之后,系统的字库对于中文支持的不全。下面的内容也是以这一说法为出发点寻求出的解决办法,并从侧面也证明了这一说法。

1.两种方式展示pdf的乱码表象

这里首先是简述两种最为常用的展示pdf的方法,如无需要,可跳过本段内容。

1.利用webView加载pdf

首先初始化一个webView

webView.scalesPageToFit = YES; //设置此项,可以缩放页面

加载文档(先将文件拖入当前项目)

NSString * path = [[NSBundle mainBundle] pathForResource:@"文件名" ofType:@"pdf"];//或者NSString * path = [[NSBundle mainBundle] pathForResource:@"文件名.pdf" ofType:nil];

程序很简单,利用这种方式也可以简单的展示word文件,这种方式优点是简单轻量,简单展示可以,复杂的交互就不支持了。(MIME 参考手册)

利用这个方法,在真机上实验(iOS9.2.1和iOS9.0.2),结果如下:

iOS9.2.1 pdf显示乱码.png

2.利用CGContextDrawPDFPage

相对于webView的局限,CGContextDrawPDFPage是利用系统框架直接绘制pdf,可以自定义阅读器。之所以用另一种方式展示pdf,是为了对比实验,避免一些未知因素的干扰。

关于原生绘制pdf的方法,网上有很多,因为较为麻烦,笔者也只是简单写了个展示一页pdf的demo,而且写的比较失败,就不在贴代码了。。。不过需要的效果是出来了,很直观,依旧乱码。

iOS9.0.2 原生pdf乱码

2.显示乱码的两种解决(妥协)办法

上面啰嗦了半天,下面开始进入正题。

1.为系统添加字库(“不需要”越狱!)

既然都说是系统的字库问题,那么我们就为系统添加字库来看看效果。

添加字库需要三方app的支持,AppStore检索“aoFont”(下免费版就行,不是广告。。。),一款很强大的系统字体添加app,最主要的是不需要越狱!

这个app我也是偶然阅读这篇文章才知道的,我们下面的操作也主要依赖这篇文章:(在此感谢一下原文的作者)

【添加字库】iOS 8.1 增加用户字库(不是替换),iWork套件感觉好多了

原文作者提供了很多字库,在笔者的实验中,只需要添加一种字体就足够了:“宋体”。

字体下载链接在见原文,字体安装方式原文也有简单介绍,aoFont还是比较易用的,可自行操作(字体安装容易,但是上传时容易出问题,按照app的提示来就好,如果上传失败,建议再试,也遇到有些字体无法上传,毕竟免费版。。。):

原创声明:本站所有文章皆由懒猫原创,转载请注明出处与原文地址:http://www.lanmaoseo.com/seojc/5126.html
版权:【本站部分转载文章能找到原作者的我们都会注明,若文章涉及版权请发至邮箱:1695770950@qq.com,我们以便及时处理,可支付稿费。向本站投稿或需要本站向贵司网站定期免费投稿请加QQ:1695770950】
更多信息请关注微信:18621662294
技术支持每天都在等您哦!