标签:
开发客户网站时遇到了一个需求,客户要求后台上传pdf文件,前台能以翻书的形式直接访问。
首先想到的是使用js解决,用户访问前端页面时,php将文件路径发送给js,让js呈现出来翻书的效果。在网上百度了一圈也没有找到现成的插件。
于是由某人提供的flash完成,这时就需要将客户在后台上传的pdf文件转换为swf文件才能通过某人提供的flash呈现出来,而且需要pdf的每一页生成一个swf文件,才能出现翻书的效果。这时又由某人提供说,swftools可以完成这个需求,于是迅速百度。
swftools这个工具就不介绍了,因为我也只用到了其中的一小部分功能,而且还是windows版本的......
pdf2swf.exe就是这个工具用来将pdf转换为swf的。命令参数众多,可以“-help”查看。
经过研究,发现只需要两个参数就可以,“-o”,“-help”的解释是“-o , --output file.swf Direct output to file.swf. If file.swf contains ‘%‘ (file%.swf), then each page goes to a seperate file.”,正是需要的将pdf每一页生成一个swf文件!!!
还有一个参数,“-t”。
在命令行的具体命令就是“E:\swftools>pdf2swf.exe -o e:\test\d\%.swf -t d:\pdf\127.pdf”,运行结果很顺利,但是又出现了一个新问题,有的swf里文字内容没有了
这样的客户肯定要骂街了啊-_-
百度寻找原因,发现帖子都是一样的......自行百度“swftools中文问题”,大概原因就是因为字体不支持,所以转换的时候出不来。
没办法,只能按照人家说的去尝试一下了,果然还是有效果的,需要下载一个“xpdf-chinese-simplified”,修改文件“add-to-xpdfrc”,下载下来的路径都是写的unix的路径,需要改成windows的,还有在最好加一句“displayCIDFontTT Adobe-GB1 E:\xpdf-chinese-simplified\gkai00mp.ttf”。
这个“gkai00mp.ttf”也是需要下载的,大概应该是个字体库之类的东西吧。
全部搞定以后,在进入命令行,这时输入的命令需要加一个参数了“-s”,这个参数有许多的功能,自行“-help”查阅吧。
命令行的命令此时为“E:\swftools>pdf2swf.exe -o e:\test\d\%.swf -t d:\pdf\127.pdf -s languagedir=e:\xpdf-chinese-simplified”,大概意思就是用这个字体库去解析pdf文件吧。
运行以后,效果很好,没有出现问题,单不知道pdf文件要是出现其它无法识别的字体时需要怎么办......
总结:swftools这个工具还是比较古老的,但是是开源的,这次也只是用到了一部分功能。不知道还有没有其它的比较好用的转换pdf工具。
标签:
原文地址:http://www.cnblogs.com/luckly233/p/5036734.html