- 浏览: 142473 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
klo0704:
这个我没有进行测试 过。
linux word 转 pdf 下类似百度文库开发研究与实战 -
leipan19890705:
你好!请问你用OpenOffice将word等转换为pdf,会 ...
linux word 转 pdf 下类似百度文库开发研究与实战 -
selectFrom:
com.jacob.com.ComFailException: ...
2010 word 转换pdf jacob
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目录下
<div style="position:absolute;left:10px;top:10px;"> <a id="viewerPlaceHolder" style="width:660px;height:480px;display:block"></a> <script type="text/javascript"> var fp = new FlexPaperViewer( 'FlexPaper/FlexPaperViewer', 'viewerPlaceHolder', { config : { SwfFile : escape(Paper.swf'), Scale : 0.6, ZoomTransition : 'easeOut', ZoomTime : 0.5, ZoomInterval : 0.2, FitPageOnLoad : true, FitWidthOnLoad : false, FullScreenAsMaxWindow : false, ProgressiveLoading : false, MinZoomSize : 0.2, MaxZoomSize : 5, SearchMatchAll : false, InitViewMode : 'Portrait', PrintPaperAsBitmap : false, ViewModeToolsVisible : true, ZoomToolsVisible : true, NavToolsVisible : true, CursorToolsVisible : true, SearchToolsVisible : true, localeChain: 'en_US' }}); </script> </div>
import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.List; /* * PDF转SWF工具 * @author tangs * */ public class Converter { public static int convertPDF2SWF(String sourcePath, String destPath, String fileName) throws IOException { // //目标路径不存在则建立目标路径 File dest = new File(destPath); if (!dest.exists()) dest.mkdirs(); //源文件不存在则返回 File source = new File(sourcePath); if (!source.exists()) return 0; //调用pdf2swf命令进行转换 // String command = "D:\\swftools\\pdf2swf.exe" + " -o \"" + destPath + fileName +"\" <SPAN style='COLOR: #ff0000'>-s languagedir=D:\\xpdf\\xpdf-chinese-simplified</SPAN> -s flashversion=9 \"" + sourcePath + "\""; // String command = "D:\\swftools\\pdf2swf.exe" + " -o \"" + destPath + fileName +"\" -s flashversion=9 \"" + sourcePath + "\""; String command= "D:/SWFTools/pdf2swf.exe -t \""+destPath+"\\Java.pdf\" -o \""+destPath+"\\test.swf\" -s flashversion=9 -s languagedir=D:\\xpdf\\xpdf-chinese-simplified "; System.out.println("cmd:"+command); Process process = Runtime.getRuntime().exec(command); // 调用外部程序 final InputStream is1 = process.getInputStream(); new Thread(new Runnable() { public void run() { BufferedReader br = new BufferedReader(new InputStreamReader(is1)); try { while(br.readLine()!= null) ; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); // 启动单独的线程来清空process.getInputStream()的缓冲区 InputStream is2 = process.getErrorStream(); BufferedReader br2 = new BufferedReader(new InputStreamReader(is2)); StringBuilder buf = new StringBuilder(); // 保存输出结果流 String line = null; while((line = br2.readLine()) != null) buf.append(line); // 循环等待ffmpeg进程结束 System.out.println("输出结果为:" + buf); // BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(pro.getInputStream())); while (br2.readLine() != null); try { process.waitFor(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return process.exitValue(); } public static void main(String []args) throws IOException { String sourcePath = "D:\\Java.pdf"; String destPath = "D:\\"; String fileName = "Javssa.swf"; try{ Converter.convertPDF2SWF(sourcePath, destPath, fileName); }catch(Exception ex) { System.out.println("error"); } System.out.println("success"); } }
如果错误:
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 160Truetype 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文件
#----- begin Chinese Simplified support package (2004-jul-27) cidToUnicode Adobe-GB1 D:\xpdf\xpdf-chinese-simplified\Adobe-GB1.cidToUnicode unicodeMap ISO-2022-CN D:\xpdf\xpdf-chinese-simplified\ISO-2022-CN.unicodeMap unicodeMap EUC-CN D:\xpdf\xpdf-chinese-simplified\EUC-CN.unicodeMap unicodeMap GBK D:\xpdf\xpdf-chinese-simplified\GBK.unicodeMap cMapDir Adobe-GB1 D:\xpdf\xpdf-chinese-simplified\CMap toUnicodeDir D:\xpdf\xpdf-chinese-simplified\CMap fontDir C:\WINDOWS\Fonts displayCIDFontTT Adobe-GB1 C:\WINDOWS\Fonts\simhei.ttf #displayCIDFontTT Adobe-GB1 /usr/..../gkai00mp.ttf #----- end Chinese Simplified support package
(三) 执行pdf2swf命令时增加字符集指令
java代码修改为
String command= "D:/swftools/pdf2swf.exe -t \""+path+"\\test.pdf\" -o \""+path+"\\test.swf\" -s flashversion=9 -s languagedir=C:\\xpdf\\xpdf-chinese-simplified ";
以上完成关于字符集乱码的配置。
增加完成后执行命令可以看到adding命令
以上不能全部解决字符集乱码的问题可能还会缺少字符
可以看缺少什么字符集就加什么字符集
displayCIDFontTT Adobe-GB1 C:\WINDOWS\Fonts\你的字符集
附件xpf.rar为我的配置可以参考
- xpdf-chinese-simplified.tar.gz (816.4 KB)
- 下载次数: 271
- xpdf-3.02pl5-win32.zip (2 MB)
- 下载次数: 267
发表评论
文章已被作者锁定,不允许评论。
-
java 保存页面上传 js 图片
2017-05-10 18:03 442现在页面上有 <img src="dat ... -
java 批量推送 ios
2017-05-08 14:47 1744此程序需要Javapns 2.2版 ... -
SpringMVC 文件上传配置,多文件上传,使用的MultipartFile
2016-07-06 17:27 775基本的SpringMVC的搭建在我的上一篇文章里已经写过了, ... -
JS 传值到 action 乱码
2016-05-16 17:11 539JS var afterencode = encod ... -
java发送http的get、post请求
2016-04-08 15:37 652package wzh.Http; import jav ... -
SpringMVC+shiro+hibernate权限管理整合
2016-02-26 10:13 1557什么是权限? 权限是管理web应用用户的一种手段,比如 ... -
SpringMVC结合ajaxfileupload文件无刷新上传
2015-12-08 13:25 685jQuery没有提供ajax的文件上传,我们可以通过aj ... -
powerdesigner 生成mysql PDM 的COMMENT注释
2015-09-07 11:40 647powerdesigner 生成mysql PDM 的COM ... -
java合并单元格同时导出excel
2014-11-06 20:00 3367POI进行跨行需要用到对象HSSFSheet对象,现在就当我 ... -
c3p0 数据重启 tomcat 正常运行配置
2014-08-20 09:20 1106<bean id="dataSource&q ... -
Java中如何获取Spring中配置的bean 和注解
2014-06-12 22:14 1058一、什么是Spring? Spring是一个轻量级的控制反转( ... -
读写Excel文件的内容
2014-04-14 11:22 787package chb.util; import java. ... -
java(Web)中相对路径,绝对路径问题总结
2014-04-10 11:05 785主题:java(Web)中相对路 ... -
Oracle 删除恢复数据
2014-01-14 14:57 757今天一哥们把正式服务 ... -
java socket
2013-11-21 11:43 770一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台 ... -
java 实现对图片的压缩生成缩略图
2013-11-14 16:31 1263一位高手的上传内容中学习到的,并将其代码根据我的需求进行了修 ... -
ORACLE 数据库的级联查询 一句sql搞定(部门多级)
2013-08-09 16:55 4603在ORACLE 数据库中有一种方法可以实现级联查询 ... -
Eclipse更改皮肤 . 保护眼睛
2013-07-05 14:57 863今天在网上看到别人的 ... -
使用eclipse生成html格式注释文档 [ javadoc ]
2013-07-02 14:34 1151一、操作步骤 1. 选中要生成doc的项目,右键 ... -
Spring+Quartz实现定时任务的配置方法
2013-02-01 11:57 9021、Scheduler的配置 <bean class= ...
相关推荐
总结起来,这个项目通过整合OpenOffice、pdf2swf和FlexPaper,实现了跨平台的在线文档预览功能,使得用户可以方便地在网页上查看各种格式的文档,类似于百度文库的体验。通过不断优化这些工具的参数和配置,可以...
总结来说,"flexpaper+openoffice+pdf2swf.exe"组合提供了从多种格式的文档到适合在线预览的SWF文件的转换解决方案。通过合理部署和集成,可以构建一个高效、安全的在线文档预览系统。在线预览不仅简化了用户操作,...
鉴于网上找的在线浏览都略去了flexpaper ,于是自己花费几个小时完成了openOffice + swfTools + flexpaper 技术实现仿百度文库的在线浏览。功能已经实现,需要的自己下去优化一下,修改下openoffice和SWFTOOLS安装...
java实现附件预览(openoffice+PDF.js),将office文档,通过openoffice工具转换为PDF文件,使用PDF.js进行前端展示 是对openoffice+swftools+flexpaper的升级版,减少一次swf文件转换,及flexpaper只能预览十页内容...
总的来说,利用OpenOffice和Java可以方便地实现文件转换功能,无论是简单的PDF转换还是更复杂的格式互转。在实际应用中,你可能需要考虑并发转换、错误处理、性能优化等问题,以适应大规模的文件处理需求。
个人整理的openOffice与pdf2swf与flashpaper弄的类似百度在线浏览文档主要类与工具,只需要下载 openOffice 3.4.1 安装,注意版本一定要与调用该工具的ddl版本一致,不然会出现 外部组件错误,我的压缩包里的调用sdk ...
标题 "openoffice+swftools+flexpaper在线预览文档" 涉及到的是一个技术解决方案,用于在Web环境中实现文档的在线预览。这个方案主要包括三个关键组件:OpenOffice、SwfTools和FlexPaper。 1. **OpenOffice**: ...
经本人测试,在线预览效果还不错 真正实现在线预览 PDF SWF flexpaper 文库 在线预览 文件上传转pdf再转swf然后实现在线预览PDF,SWF文件 Txt/Word/Excel/PPT=>PDF(OpenOffice+JodConverter)=>SWF(pdf2swf)=>...
根据给定的文件信息,以下是对“java实现类似百度文库预览pdf功能”的详细解析与相关知识点: ### Java实现在线预览PDF功能的核心技术与流程 #### 转换方式概览 实现类似百度文库在线预览文档功能,核心在于将多种...
总结起来,"openfile相关ja及js"指的是利用OpenOffice的Java库处理文件,结合PDF.js在浏览器端预览PDF文档。这个过程涵盖了服务器端的文件转换和前端的PDF渲染,对于开发支持多种格式文件预览的Web应用具有重要意义...
总结,通过OpenOffice和相关的Java库,我们可以实现Java环境下的文件格式转换,包括JPG图片和DOC文档转PDF,以及PDF转SWF。这些操作对于构建在线文档预览系统至关重要。同时,确保正确配置和安装相关软件、字体以及...
01-Apache_OpenOffice_4.1.7_Win_x86_install_zh-CN.exe 02-swftools-2013-04-09-1007.exe 03-OpenOfficeRun.txt
### Java+FlexPaper+swfTools 仿百度文库文档在线预览系统设计与实现 本文将详细介绍如何使用Java结合FlexPaper和swfTools技术来实现一个类似百度文库的文档在线预览系统。该系统的主要功能是允许用户在线浏览各种...
根据提供的文档标题、描述、标签以及部分内容,本文将详细介绍如何使用Java、FlexPaper及swfTools来设计并实现一个类似于百度文库的文档在线预览系统。本系统旨在让用户能够在线预览各种类型的文档,无需下载或安装...
总结来说,实现类似百度文库功能在Linux环境下,涉及到的技术点包括OpenOffice的安装与操作、JodConverter库的使用、PDF与SWF文件的转换、FlexPaper在线阅读器的集成以及Linux下的文件操作和字体配置等。这些知识点...
本篇将详细讲解如何使用OpenOffice工具进行“Word(Office)转换PDF”以及“PDF转SWF”的过程。 首先,我们来探讨“Word(Office)转换PDF”。在日常工作中,Word文档通常用于撰写报告、论文或创建各种文本内容。...
标题中的“仿百科文库(Flex+openoffice+swftools等)”是一个项目或技术解决方案的概述,它涉及了三个主要的技术组件:Flex、OpenOffice和SwfTools。接下来我们将详细探讨这三个技术及其在创建类似百科文库的应用中的...
首先,我们需要理解`openoffice 转PDF工具类`的核心概念。OpenOffice的Java接口主要由JODConverter库提供,这是一个基于LibreOffice或OpenOffice的Java转换工具,支持多种文档格式之间的转换,包括将ODT、DOC、XLS等...