[align=left][/align]
引用
因为项目需要,这几天在研究仿百度文库的一个例子。网上搜索了一下,发现基本上都是一个思路:先通过 openoffice 和 jodconverter 将office等文档转换为 pdf ,然后再通过java.lang.process 调用 swftools 程序将 pdf 转换为 swf。最后就可以利用 flexpaper 将生成的 swf 显示出来了,效果和百度文库差不多。
思路上没有问题,但是在具体做的时候遇到了一个java.lang.process 阻塞的问题,就是在调用 java process 来启动 swf 转换文件时一直不能生成 pdf,后来自己摸索的好久也没明白是什么问题,无意中找到了一个关于java进程阻塞问题的帖子。后来才知道,通过java.lang.process 调用本地程序的时候,需要将 process 缓存中的输出信息读取出来,不然就会造成进程的阻塞。
实现方法如下:
Process process = Runtime.getRuntime.exec(command); // 调用外部程序
final InputStream is1 = process.getInputStream();
new Thread(new Runnable() {
public void run() {
BufferedReader br = new Buffered(new InputStreamReader(is));
while(br.readLine() != null) ;
}
}.start(); // 启动单独的线程来清空process.getInputStream()的缓冲区
InputStream is2 = process.getErrorStream();
BufferedReader br2 = new Buffered(new InputStreamReader(is2));
StringBuilder buf = new StringBuilder(); // 保存输出结果流
String line = null;
while((line = br.readLine()) != null) buf.append(line); // 循环等待ffmpeg进程结束
System.out.println("输出结果为:" + buf);
可以参考这个帖子:
http://www.iteye.com/topic/141606
分享到:
相关推荐
SwfTools是一款开源的软件工具集,专门用于处理Adobe PDF文件并将其转换为SWF(ShockWave Flash)格式。这个工具适用于那些希望在Web上分享文档或者创建交互式内容的人们,因为SWF文件通常在网络浏览器中播放效果...
【描述】: "本文介绍了如何使用SWFTools将PDF文档转换为Flash格式,以便在OATOS系统中实现在线浏览功能。通过详细步骤和参数设置,指导用户在Windows和Linux环境下安装及使用SWFTools,并解决中文乱码问题。" ...
要使用SwfTools将PDF转换为SWF,首先需要安装SwfTools,例如提供的`swftools-0.9.0.exe`文件。完成安装后,可以按照以下步骤操作: - 打开命令行界面(在Windows上是CMD,在Linux或Mac上是终端)。 - 导航到`pdf2...
通过使用SWFTools,用户可以将PDF文件转换为具有交互性和动画效果的SWF文件,从而提供一种轻量级且易于分发的替代方案。 主要组件包括: 1. **pdf2swf_gui.exe**:这是SWFTools的图形用户界面版本,使得非技术用户...
当用户上传文档时,系统会将文档转换为pdf文件,然后使用swftools将pdf文件转换为swf文件。最后,使用FlexPaper插件实现在线预览。 FlexPaper插件 FlexPaper是一个在线预览插件,可以实现文档在线预览。它可以将...
将PDF转换成SWF可以使用SWFTools工具中的pdf2swf(http://www.swftools.org/),1、首先下载安装,一直默认下一步即可。 2、java代码: import java.io.BufferedReader; import java.io.File; import java.io....
然而,当涉及到中文字符时,PDF文档的处理可能会遇到问题,尤其是在使用某些工具进行转换时。在这种情况下,`xpdf` 和 `swftools` 这两个工具就显得尤为重要。 `xpdf` 是一个开源的PDF阅读器和工具集合,主要包括三...
swftools PDF等文档转换SWF工具安装版
3. **SWFTools转换**:Java服务接着调用SWFTools的pdf2swf命令,将生成的PDF转换为SWF文件。 4. **存储和发布**:转换后的SWF文件保存在服务器上,其URL可以被FlexPaper使用。 5. **前端展示**:在Web页面上,...
SwfTools是一款开源的工具集合,主要用于处理Adobe Flash(SWF)文件,它提供了多种功能,包括PDF到SWF、图像到SWF、XML到SWF等转换。这个"swftools-0.9.2.rar"压缩包包含了SwfTools的0.9.2版本,用于将各种类型的...
在本场景中,我们将探讨如何使用Swftools工具将PDF文件转换为SWF格式。 Swftools是一个开源软件包,专门用于处理SWF文件。它包含了多个实用程序,可以创建、编辑、合并和转换SWF文件。在提供的文件列表中,我们看到...
通过上述步骤和技术介绍,我们可以看出,使用Java结合OpenOffice.org和SWFTools可以有效实现将Office文档及PDF文档转换为SWF文件的功能,进而实现在线预览。这种方法不仅提高了文档处理的效率,还为用户提供了一个...
在Java编程环境下,我们可以利用OpenOffice的API来实现文件转换功能,将文档转换为PDF或SWF格式。这在很多场景下非常有用,比如自动化文档处理、报表生成或在线预览。 首先,我们要了解OpenOffice提供的Java接口,...
使用SWFTools,你可以通过简单的命令行调用,如`pdf2swf input.pdf -o output.swf`,将PDF转换为SWF。 在Java中,如果你想要集成这些外部工具,可以使用Java的Runtime类或者ProcessBuilder类来执行系统命令。例如,...
开发者首先需要设置好环境,包括安装OpenOffice或LibreOffice,然后根据需求编写Java代码,使用Apache POI读取Word文档,通过JODConverter转换成PDF,最后使用SwfTools的pdf2swf工具将生成的PDF转换为SWF。...
总结,Swftools是处理SWF文件的强大工具,尤其在将PDF转换为适合Web展示的SWF格式时,它的功能尤为突出。结合Flex,我们可以创建出交互性强、用户体验良好的在线PDF阅读器。在实际应用中,根据具体需求调整Swftools...
PDF到SWF转换工具在IT领域中是一种实用的软件,主要功能是将PDF文档转换为SWF(ShockWave Flash)格式,以便在网络上传播、在线查看或者嵌入网页。"pdf2swf"是这样的一个工具,而"pdf2swf.tar.gz"则是一个针对Linux...
在这个场景下,我们关注的是如何使用JodConverter将PDF文件转换为SWF(ShockWave Flash)格式,然后利用SwfTools来展示这个文件,同时保持打印、复制和下载的功能。下面将详细解释这两个工具以及整个转换过程。 ...
软件介绍: swftools工具集安装后包含了pdf2swf,能够将PDF文件转换为SWF文件,这个能够正常安装并使用,可以使用java语言调用该工具,结合openoffice进行转化PDF文档。