加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

仿百度文库解决方案(六)-pdf转换swf格式出现的乱码问题

发布时间:2020-12-15 18:36:07 所属栏目:百科 来源:网络整理
导读:?????????? 在上一篇的博客中介绍了如何通过flexpaper实现文档的在线预览。但是在测试的时候经常会出现许多预想不到的事情。例如在显示的时候发现pdf转换swf格式的文件出现了乱码的问题,在这里总结一下出现的问题。 ??????? 第一个 : 在网页上显示资源时无

?????????? 在上一篇的博客中介绍了如何通过flexpaper实现文档的在线预览。但是在测试的时候经常会出现许多预想不到的事情。例如在显示的时候发现pdf转换swf格式的文件出现了乱码的问题,在这里总结一下出现的问题。

??????? 第一个 : 在网页上显示资源时无法显示。如图:

?????

???????? 分析原因 :

????????????? 出现这种情况分为三种情况。第一种情况是在播放官方的swf的文件,这样的情况的原因是没有得到官方的信任。在官方添加信任就好。具体操作如下:

???????????? 进入官网,网址如下:http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html#119065

??FlexPaper添加信任.进入网页之后?,点击左边的?Global?Security?Settings?papel?这个选项,然后在右边(如下图)

?

?????????? 第二种情况 ; 可以加载官方的案例,可是无法加载自己的资源?

???????? 当我们想要FlexPaper加载我们自己的swf时,发现一直处于等待状态,无法显示,检查swf的路径也没错,但就是一直无法加载。这种情况,很有可能就是.swf文件的版本问题啦。我们运行SWFTools的图形工具(gpdf2swf.exe)把pdf转换为swf,但是转换后的swf也不能被Flexpaper正常加载,如果你确保路径没错的话,那就是版本的问题啦。

我们可以查看转换时swf的版本,我们可以点击?Edit->Options->Viewer:

?????????

可以看到它帮我们转换为SWF的版本有?7,8两项,但这都是不能正常在FlexPaper中加载的,我们必须把pdf转换为版本为9swf,才能让它在Flexpaper中显示。那么如何转换为9的呢?我自己是使用cmd命令行工具来手工转换的.只须在命令行添加?"-s?flashversion=9"?这句,就可以转换为9的版本啦.示例如下:

参数说明如下:

SWFTools我的默认安装路径是:?E:Program?Files

SWFToolspdf2swf.exe工具所在的文件夹,

-t:?源文件路径,即待转换的pdf文件路径。

-s:?设置参数,这里我们设置为?flashversion=9?,即可以转换为9?的版本啦。

-o:?输出文件的路径,这里我输出到F:盘下

好了,这样就转换成功啦,你就可以得到一个.swf的文件,你只需拷到你下载的Demo里,配置好路径后,你就会发现FlexPaper可以正常加载你的swf.

在这里稍微强调一个小问题文件夹名字带有空格

对于?-t?,-o?这两个参数,就是对于源文件路径来输出文件路径的问题,如果你的文件夹的名字中,有空格的话,这样是不能找到你的文件的。

比如说:我要转换的pdf源文件在?E:Program?FilesSWFTools这个文件夹下,当我这样写?-t?E:Program?FilesSWFToolsajax.pdf?或者是输出文件路径写成这样?-?o?E:Program?FilesSWFToolsajax.swf??这样都是不能成功的,因为这里面有文件夹名含有空格,这应该是cmd命令的问题(这个我也不是很懂,希望有高手能说一下),这里你只有在路径的前后加上又引号就能成功啦,如:?-t?"E:Program?FilesSWFToolsajax.pdf"?或??-o?"E:Program?FilesSWFToolsajax.swf"?这样就OK.

????????????? 第三种情况:? 可以加载资源可是无法播放。分析思路

????????????? 第一:确定一下你传递的资源的后缀名是否正确,因为flexpaper 只能播放后缀名为swf的文件。

??????????第二:?查看文件的路径是否正确,如果在jsp页面中,必须查看传递的资源路径是否存在乱码。

????????? 二 中文乱码的问题

??????????? 出现中文乱码的一般在txt格式转换成pdf格式的过程中还有就是在pdf转换成swf格式的时候出现。

??????????? 在这里先说第一种txt格式转换。在进行文本文档的转换时,进行一个中间过渡。可以先把txt转换成odt文件,之后转换成pdf格式就不会出现乱码。 具体的步骤在仿百度文库解决方案(三)- 利用JODConverter把文档转换成pdf格式

?????????????? 在pdf转换swf格式的出现的乱码比较容易解决。只需要几个代码修改一下就好了具体步骤如下:

?????????

在转换中,我发现有些中文PDF文件转换后会出现乱码的现象,因此这里还要处理一下乱码的问题。看到上面代码中红色的一段了吗?这就是解决乱码的方法。这个方法是参考了http://hi.baidu.com/xwx520/blog/item/1d0c423885b392fab311c72e.html这篇文章,感谢作者。

1.下载XPDFftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-simplified.tar.gz,并解压到xpdf-chinese-simplified目录下。

?

2.下载字体:http://blog.pjoke.com/wp-content/uploads/2009/02/font.zip,并解压到xpdf-chinese-simplified/CMap目录下。

3.修改xpdf-chinese-simplified目录下的add-to-xpdfrc文件。将里面的路径设为自己的路径:

?

4 之后在调用pdf2swf命令时后面加上“

  1. -s?languagedir=D:xpdf-chinese-simplified";??

”就可以了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读