pdf.js浏览中文pdf乱码的问题解决

由于项目中需要支持移动设备在线浏览pdf,苹果还好,天生支持,但是安卓中就不行了,需要第三方组件的支持。

这里就找到了pdf.js,由于pdf数据太多,开始的时候没法一一测试,所以随便测试打开了几篇没问题后就直接上线了。

但是后面就悲剧了,偶然收到反馈,有些pdf无法正常浏览,此为写本文的原因。



具体的现像

查找问题过程

一、用火狐(火狐解析pdf是用的pdf.js)来直接打开这篇pdf,发现居然是对的,那怀疑用的pdf.js不是最新的?下了一个,问题依旧。问题陷入僵局。

二、漫无目的,打开浏览器调试,凭习惯去看看是不是有异常报错之类的信息,发现真的有信息,提示某个资源没有找到,如图:

三、根据提示的这个错误去搜索,一下找到了答案,服务端没有做MIME类型映射。

问题解决:

根据搜索到的解决方案,在服务器网站中添加如下MiME映射。

.properties

application/octet-stream

.bcmap

application/octet-stream

再次浏览这篇pdf,可以发现,已经正常。

原文地址:https://www.cnblogs.com/dengxi/p/10682441.html

时间: 2024-11-13 05:09:31

pdf.js浏览中文pdf乱码的问题解决的相关文章

swfupload组件后台获取中文文件名乱码的问题解决

   问题描述:用swfupload上传文件,含有中文名称的文件上传会报错,我用的是获取FileItem对象,用FileItem对象的getName()方法获取文件名称会乱码,试着用request.setCharacterEncoding("UTF-8")及fileName= new String(fileName.getBytes("iso-8859-1";),"UTF-8"); 都不可以,用FileItem对象.getString("

[pdf.js]预览pdf时,中文名称乱码的问题

在项目中使用了pdf.js的方式预览pdf,但针对中文名称的时候会出现乱码,导致找不到该文件而出现错误. 解决办法 <script src="viewer.js" charset="gb2312"></script> 结果

PDF.js实现个性化PDF渲染(文本复制)

我肥来啦??.看到Redux教程突破3w的浏览量,小窃喜,很高兴自己的文章能够帮助到大家. 这次重返,依然带给大家一个小指南,也是最近工作中遇到的一个小case. 前不久,产品经理提出要在界面上优雅地展示PDF文档,当即就有了两种实现方式: 实现方式一使用embed标记来使用浏览器自带的pdf工具. 这种实现方式优缺点都很明显:优点:自带“打印”,“搜索”,“翻页”等功能,强大且实现方便.缺点:不同浏览器的pdf工具样式不一,且无法满足个性化需求,比如:禁止打印,下载等. 我们的产品经理是挑剔的

使用PDF.JS在线查看PDF

过程简单粗暴. 第一步:下载源码https://github.com/mozilla/pdf.js 第二步:将源码拷贝进项目中,可以新建一个PDFShow文件夹存放代码 第三步:修改viewer.js var DEFAULT_URL = 'compressed.tracemonkey-pldi-09.pdf'  里面是PDF的路径 修改为:var DEFAULT_URL = ''; 发布IIS后访问localhost:8080/PDFShow/web/viewer.html?file=09.pd

java 使用 pdf.js 在线查看 pdf 文档

1. 下载对应的 pdf.js 文件: 推荐地址:             https://github.com/mozilla/pdf.js/            http://mozilla.github.io/pdf.js/ 2. 下载完成后打开对应的 viewer.js 文件. 可以看到,默认打开的是 compressed.tracemonkey-pldi-09.pd f文件,如果后面我们需要打开我们指定的地址,于是清空默认地址. 3. 这样,我们就可以使用传递 file 形参来动态指

action层接受js脚本中文参数乱码

解决方法: 思路: 参数在web脚本encodeURI()编码两次.action层接收参数时用java.net.URLDecoder.decode(var,"UTF-8") 解码: 例子: web端: var name="汉字"; request:url?var=encodeURI(encodeURI(name)); 后台: action层接受参数:name=java.net.URLDecoder.decode(name,"UTF-8") :即可

FlowPaper中文PDF乱码的一种解决办法

[关键词]FlowPaper.PDF.js.乱码 [结论]先给出解决办法,后面的大段内容只是为了记录当时的排查过程. PDF.js有全局变量对象PDFJS(1.8以上版本在pdf.js最后,1.5.x的版本没找到,在代码取值地方设置也可,下有说明),可以设置字体资源路径和方式(关于字体资源的说明可看此贴https://stackoverflow.com/questions/32764773/what-is-a-pdf-bcmap-file),如果采用默认不设置就可能会出现找不到资源文件乱码的情况

pdf.js 使用实例

pdf.js可以实现在html下直接浏览pdf文档,是一款开源的pdf文档读取解析插件 pdf.js主要包含两个库文件,一个pdf.js和一个pdf.worker.js,,一个负责API解析,一个负责核心解析 下载地址:http://cnblogs.com/files/xiangliuyunyang/build.zip 两个主要demo 1.点击连接读取第一页的pdf文档:http://www.51purse.com/pdf/web/demo1.html(此处没有自己上传) 2.点击连接,选择需

pdf.js实现图片在线预览

项目需求 前段时间项目中遇到了一个模块,是关于在线预览word文档(PDF文件)的,所以,找了很多插件,例如,pdf.js,pdfobject.js框架,但是pdfobject.js框架对于IE浏览器不兼容,所以,选择了使用pdf.js,这里记录一下,以后使用的时候好查找,也希望可以帮助有需要的人. word文件转pdf文件 首先需要将指定的word文档转为pdf文件,方法有很多,这里不介绍,有需要的童鞋可以去网上下载即可.我这里用的是OpenOffice,版本是4.1.6,使用很简单,下载好了