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

openOffice+pdf2swf类百度文库):pdf转swf(Linux,window)

发布时间:2020-12-15 18:36:55 所属栏目:百科 来源:网络整理
导读:1:工具准备 swftools.exe 下载 http://www.swftools.org/download.html 安装至D盘 SWFTools提供了一系列将各种文件转成swf的工具: font2swf.exe gif2swf.exe jpeg2swf.exe pdf2swf.exe png2swf.exe wav2swf.exe 这里我们只使用pdf2swf.exe 我用的版本是:s

1:工具准备
swftools.exe 下载
http://www.swftools.org/download.html
安装至D盘
SWFTools提供了一系列将各种文件转成swf的工具:
font2swf.exe
gif2swf.exe
jpeg2swf.exe
pdf2swf.exe
png2swf.exe
wav2swf.exe
这里我们只使用pdf2swf.exe
我用的版本是:swftools-0.9.1.exe


flexpaper下载
http://code.google.com/p/flexpaper/
这里我们使用已经编译好的FlexPaper的flash版本

?

我用的版本是:FlexPaper_1.4.7_flash.zip

把FlexPaper下载解压到项目的webRoot目录下

Java代码 ?

收藏代码

  1. <div?style="position:absolute;left:10px;top:10px;">??
  2. ????<a?id="viewerPlaceHolder"?style="width:660px;height:480px;display:block"></a>??
  3. ??????
  4. ????<script?type="text/javascript">???
  5. ar?fp?=?new?FlexPaperViewer(??????
  6. ?????'FlexPaper/FlexPaperViewer',??
  7. ?????'viewerPlaceHolder',?{?config?:?{??
  8. ?????SwfFile?:?escape(Paper.swf'),??
  9. ?????Scale?:?0.6,???
  10. ?????ZoomTransition?:?'eaSEOut',??
  11. ?????ZoomTime?:?0.5,??
  12. ?????ZoomInterval?:?0.2,??
  13. ?????FitPageOnLoad?:?true,??
  14. ?????FitWidthOnLoad?:?false,??
  15. ?????FullScreenAsMaxWindow?:?false,??
  16. ?????ProgressiveLoading?:?false,??
  17. ?????MinZoomSize?:?0.2,??
  18. ?????MaxZoomSize?:?5,??
  19. ?????SearchMatchAll?:?false,??
  20. ?????InitViewMode?:?'Portrait',??
  21. ?????PrintPaperAsBitmap?:?false,??
  22. ???????
  23. ?????ViewModeToolsVisible?:?true,??
  24. ?????ZoomToolsVisible?:?true,??
  25. ?????NavToolsVisible?:?true,??
  26. ?????CursorToolsVisible?:?true,??
  27. ?????SearchToolsVisible?:?true,??
  28. ??????????????
  29. ?????????????localeChain:?'en_US'??
  30. ?????}});??
  31. ????</script>??
  32. ???</div>??

?

?

?

路径为安装路径代码 ?

收藏代码

  1. import?java.io.BufferedReader;??
  2. import?java.io.File;??
  3. import?java.io.IOException;??
  4. import?java.io.InputStream;??
  5. import?java.io.InputStreamReader;??
  6. import?java.util.List;??
  7. ??
  8. /*??
  9. *?PDF转SWF工具??
  10. *?@author?tangs??
  11. *??
  12. */??
  13. public?class?Converter?{??
  14. ????public?static?int?convertPDF2SWF(String?sourcePath,?String?destPath,?String?fileName)?throws?IOException?{??
  15. //??????//目标路径不存在则建立目标路径??
  16. ????????File?dest?=?new?File(destPath);??
  17. ????????if?(!dest.exists())?dest.mkdirs();??
  18. ??????????
  19. ????????//源文件不存在则返回??
  20. ????????File?source?=?new?File(sourcePath);??
  21. ????????if?(!source.exists())?return?0;??
  22. ??????????
  23. ????????//调用pdf2swf命令进行转换??
  24. //??????String?command?=?"D:swftoolspdf2swf.exe"?+?"?-o?""?+?destPath??+?fileName?+""??<SPAN?style='COLOR:?#ff0000'>-s?languagedir=D:xpdfxpdf-chinese-simplified</SPAN>?-s?flashversion=9?""?+?sourcePath?+?""";??
  25. //??????String?command?=?"D:swftoolspdf2swf.exe"?+?"?-o?""?+?destPath??+??fileName?+""?-s?flashversion=9?""?+?sourcePath?+?""";??
  26. ????????String?command=?"D:/SWFTools/pdf2swf.exe??-t?""+destPath+"Java.pdf"?-o??""+destPath+"test.swf"?-s?flashversion=9?-s?languagedir=D:xpdfxpdf-chinese-simplified?";????
  27. ????????System.out.println("cmd:"+command);??
  28. ????????Process?process?=?Runtime.getRuntime().exec(command);?//?调用外部程序?????
  29. ????????final?InputStream?is1?=?process.getInputStream();?????
  30. ????????new?Thread(new?Runnable()?{?????
  31. ????????????public?void?run()?{?????
  32. ????????????????BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(is1));??????
  33. ????????????????try?{??
  34. ????????????????????while(br.readLine()!=?null)?;??
  35. ????????????????}?catch?(IOException?e)?{??
  36. ????????????????????//?TODO?Auto-generated?catch?block??
  37. ????????????????????e.printStackTrace();??
  38. ????????????????}?????
  39. ????????????}?????
  40. ????????}).start();?//?启动单独的线程来清空process.getInputStream()的缓冲区?????
  41. ????????InputStream?is2?=?process.getErrorStream();?????
  42. ????????BufferedReader?br2?=?new?BufferedReader(new?InputStreamReader(is2));??????
  43. ????????StringBuilder?buf?=?new?StringBuilder();?//?保存输出结果流?????
  44. ????????String?line?=?null;?????
  45. ????????while((line?=?br2.readLine())?!=?null)?buf.append(line);?//?循环等待ffmpeg进程结束?????
  46. ????????System.out.println("输出结果为:"?+?buf);??
  47. ??????????
  48. //??????BufferedReader?bufferedReader?=?new?BufferedReader(new?InputStreamReader(pro.getInputStream()));??
  49. ????????while?(br2.readLine()?!=?null);???
  50. ??????????
  51. ????????try?{??
  52. ????????????process.waitFor();??
  53. ????????}?catch?(InterruptedException?e)?{??
  54. ????????????//?TODO?Auto-generated?catch?block??
  55. ????????????e.printStackTrace();??
  56. ????????}??
  57. ??????????
  58. ????????return?process.exitValue();??
  59. ??
  60. ??????????
  61. ????}??
  62. ??
  63. ??????
  64. ????public?static?void?main(String?[]args)?throws?IOException?{??
  65. ????????String?sourcePath?=?"D:Java.pdf";??
  66. ????????String?destPath?=?"D:";??
  67. ????????String?fileName?=?"Javssa.swf";??
  68. ????????try{??
  69. ????????Converter.convertPDF2SWF(sourcePath,?destPath,?fileName);??
  70. ??????????
  71. ????????}catch(Exception?ex)??
  72. ????????{??
  73. ????????????System.out.println("error");??
  74. ????????}??
  75. ????????System.out.println("success");??
  76. ??????
  77. ??????????
  78. ??????????
  79. ????}??
  80. }??

?

如果错误:

Error: Unknown character collection 'Adobe-GB1'Error: Couldn't find 'GBK-EUC-H' CMap file for 'Adobe-GB1' collectionError: Unknown CMap 'GBK-EUC-H' for character collection 'Adobe-GB1'Error: Unknown character collection 'Adobe-GB1'Error: Couldn't find 'GBK-EUC-H' CMap file for 'Adobe-GB1' collectionError: Unknown CMap 'GBK-EUC-H' for character collection 'Adobe-GB1'Error: Unknown character collection 'Adobe-GB1'Error: Couldn't find 'GBK-EUC-H' CMap file for 'Adobe-GB1' collectionError: Unknown CMap 'GBK-EUC-H' for character collection 'Adobe-GB1'Error: Unknown character collection 'Adobe-GB1'Error: Couldn't find 'GBK-EUC-H' CMap file for 'Adobe-GB1' collectionError: Unknown CMap 'GBK-EUC-H' for character collection 'Adobe-GB1'Error: Unknown font tag 'F2'Truetype wasn't able to load glyph 0,error 160Truetype wasn't able to load glyph 0,error

?

改错方法:

swf2pdf转swf时字符集问题

?终于碰到swf2pdf字符集问题呢,今天转一个老的pdf是出现字符集问题,并转换的swf为乱码。
出现的错误如下。

错误现象

?

错误的原因是缺少中文字符集GBK-EUC-H。解决方法使用xpdf增加缺少的字符集。解决步骤如下:

(一) 下载相关的xpdf及字符集

xpdf-3.02pl5-win32.zip
下载地址为
ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl5-win32.zip
xpdf-chinese-simplified.tar.gz
下载地址为
ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-simplified.tar.gz

也可以去http://www.foolabs.com/xpdf/download.html查找你自己需要的字符集

以上两个文件我已经放到附件里面有用的话可以下载

(二) 配置xpdf及字符集

?????? 1:解压xpdf-3.02pl5-win32.zip,解压后修改名称为xpdf,并将其考到c盘根目录下【路径可以随意指定,但是执行pdf2swf指令时要指定到当前目录】。

??????

?

?????? 2:解压xpdf-chinese-simplified,将xpdf-chinese-simplified放置xpf目录下

????

?????? 3:修改xpdf-chinese-simplified目录下的add-to-xpdfrc文件

Add-to-xpdfrc代码
Add-to-xpdfrc代码 ?

收藏代码

  1. #-----?begin?Chinese?Simplified?support?package?(2004-jul-27)??
  2. cidToUnicode????????Adobe-GB1?????????D:xpdfxpdf-chinese-simplifiedAdobe-GB1.cidToUnicode???
  3. unicodeMap????????????ISO-2022-CN????D:xpdfxpdf-chinese-simplifiedISO-2022-CN.unicodeMap???
  4. unicodeMap????EUC-CN????????D:xpdfxpdf-chinese-simplifiedEUC-CN.unicodeMap???
  5. unicodeMap????GBK?????D:xpdfxpdf-chinese-simplifiedGBK.unicodeMap???
  6. cMapDir?????Adobe-GB1????D:xpdfxpdf-chinese-simplifiedCMap???
  7. toUnicodeDir??D:xpdfxpdf-chinese-simplifiedCMap???
  8. fontDir?C:WINDOWSFonts???
  9. displayCIDFontTT?Adobe-GB1?C:WINDOWSFontssimhei.ttf???
  10. #displayCIDFontTT???Adobe-GB1???/usr/..../gkai00mp.ttf??
  11. #-----?end?Chinese?Simplified?support?package??

?(三) 执行pdf2swf命令时增加字符集指令

????? java代码修改为

?

Java代码 ?

收藏代码

  1. String?command=?"D:/swftools/pdf2swf.exe??-t?""+path+"test.pdf"?-o??""+path+"test.swf"?-s?flashversion=9?-s?languagedir=C:xpdfxpdf-chinese-simplified?";??

? 以上完成关于字符集乱码的配置。

增加完成后执行命令可以看到adding命令

以上不能全部解决字符集乱码的问题可能还会缺少字符

可以看缺少什么字符集就加什么字符集

Add-to-xpdfrc代码 ?

收藏代码

  1. displayCIDFontTT?Adobe-GB1?C:WINDOWSFonts你的字符集??

附件xpf.rar为我的配置可以参考

  • xpdf-chinese-simplified.tar.gz (816.4 KB)
  • 下载次数: 49
  • xpdf-3.02pl5-win32.zip (2 MB)
  • 下载次数: 41

http://klo0704.iteye.com/blog/1274048

(编辑:李大同)

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

    推荐文章
      热点阅读