废话不多说,直接上码:
须安装软件: 1.OOo_3.3.0_Win_x86_install-wJRE_zh-CN
2.swftools
说明:
1.启动OpenOffice
//此为文件安装的地址,视具体情况有不同
ProgramFiles\OpenOffice\program
//此为启动该服务的命令
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
2.swftools 也可以随意安装在任何目录下,但必须修改项目中必须配置相应的命令路径如: (C:\\Program Files\\SWFTools\\pdf2swf.exe -s flashversion=9 -o )地址为你相应的目录
由于安装文件过大,未上传; 如需要的话可以回复邮箱,我发附件
package com.format.test;
import java.io.File;
import java.io.IOException;
import java.net.ConnectException;
import java.util.UUID;
import org.apache.commons.io.FileUtils;
import com.artofsolving.jodconverter.DocumentConverter;
import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
public class FormatConversion {
//转换路径命令
private String execSWFTools = "C:\\Program Files (x86)\\SWFTools\\pdf2swf.exe -s flashversion=9 -o ";
//文件上传
public boolean upload(File uploadFile, String fileName) {
boolean flag = false;
/** 保存的具体路径 */
String savepath = "path";
/** 根据保存的路径创建file对象 */
File file = new File(savepath);
//动态随机生成一个文件名
String storeName = UUID.randomUUID().toString();
//获取文件后缀
String extension = fileName.substring(fileName.indexOf("."));
/*这里其实是这样的,我将它们改为.odt后缀后,那么再用jodconverter来打印时,它就会调用openoffice来打印,
那么就相当于它用openoffice打开它的odt格式的文件,再点击打印成pdf;因为它对*.odt文件支持中文,所以它打开它时,
中文是正确的,其实它在读这个非odt的纯文本文件时,它就能识别出它的编码格式,所以就不用我们再去找那个原文件的编码格式,
再进行转换,我们可以直接打印。所以关键还是理解jodconverter的打印原理,它不过是对openoffice的打印接口的调用。*/
//转换txt文本文件为odt文件,解决中文乱码问题
if(extension.equals(".txt")){
extension=".odt";
}
try {
//类容拷贝到新文件, 创建新目录及文件
FileUtils.copyFile(uploadFile,
new File(file, storeName + extension));
flag = true;
} catch (IOException e) {
e.printStackTrace();
}
}
public synchronized void conversion(String fileName) {
String name = fileName.substring(0, fileName.lastIndexOf("."));
System.out.println("name" + name);
String path = "D://uploaddFile/";
String file = path + fileName;
System.out.println("file" + file);
String swf = path + name + ".swf";
String tmp = path + name + ".pdf";
if (fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase()
.equals("pdf")) {
this.pdf2Swf(file, swf);
} else {
this.offic2Pdf(new File(file), new File(tmp));
this.pdf2Swf(tmp, swf);
}
}
//转PDF
private void offic2Pdf(File inputFile, File outputFile) {
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
try {
connection.connect();
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(inputFile, outputFile);
} catch (ConnectException cex) {
cex.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();
connection = null;
}
}
}
//转SWF
private void pdf2Swf(String pdfFile, String swfFile) {
String command = execSWFTools +"\""+ swfFile + "\" -t \"" + pdfFile + "\"";
System.out.println("Command语句为"+command);
try {
Runtime.getRuntime().exec(command);
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
标题提到的"doc转换为pdf、swf等格式代码"是指利用编程语言进行文件格式的转换,这里使用的是C#。C#是一种功能强大的面向对象的编程语言,常用于开发Windows应用程序,包括文件处理和转换。 首先,让我们来探讨一下...
PDF文件格式保持原始文档的布局和格式不变,且跨平台兼容性优秀,适合打印、分发和保存。转换过程能够确保文本和图像的质量,并且防止内容被轻易修改,提供了一种安全的文档共享方式。 3. **doc2swf**:这个功能则...
接下来,将PDF转换为SWF,我们可以利用PDF to SWF转换工具,如PDF2SWF或TET (Text Extractor Toolkit)。由于这些工具通常是命令行接口,我们可以在C#中通过Process类来调用它们。以下是一个基本示例,展示如何使用...
SWF(Shockwave Flash)是一种由Adobe Systems开发的矢量图形和动画文件格式,主要用于网络上发布动画、视频、游戏以及交互式应用。而doc和pdf则是两种常见的文档格式,前者是Microsoft Word的默认文件类型,后者是...
标题“DOC2PDF2SWFFILE”暗示了这个压缩包包含的是一组源代码,用于将DOC(Word文档)和PDF格式的文件转换为SWF(Shockwave Flash)格式。这种转换在数字出版、在线教育和网页设计等领域非常有用,因为SWF文件能够以...
### 格式转换技术解析:将txt, doc, JPG等转为SWF或PDF转Flash #### 技术背景 随着互联网技术的发展,文档和图像的在线分享需求日益增加,尤其是像百度文库和豆丁网这样的平台,它们能够将各种格式的文档,包括...
Java作为一种强大的编程语言,提供了丰富的库和工具来实现各种文件格式之间的转换,包括将Office文件(如Word、Excel、PowerPoint)转换为PDF格式。这个过程涉及到的技术点主要包括文件读取、内容解析以及格式转换。...
FlexPaper是一款流行的开源PDF和文档查看器,它可以集成到网站中,用以展示由Doc2Swf和Pdf2Swf转换后的SWF文件。FlexPaper提供了丰富的用户体验,包括全屏模式、打印选项、页面导航等,并且支持多语言和自定义皮肤。...
Word文档(.doc或.docx)是最常用的文本编辑格式之一,但有时我们需要将其转换为PDF或SWF(Shockwave Flash)格式,以实现更好的兼容性或交互性。下面将详细介绍Word转换为PDF和SWF的过程,以及相关的知识点。 **1....
PDF文档转换工具是一种实用软件,它能够帮助用户将PDF(Portable Document Format)文件转换成其他常见的文件格式,如Word(DOC或DOCX)、HTML、SWF(ShockWave Flash)以及图像格式,例如JPG、BMP、GIF、PNG和TIF等...
综上所述,"PDF word 转swf"涉及到的技术主要包括文件格式转换、SWF文件的特性、以及可能使用的转换工具如Adobe FlashPaper。了解这些知识点,用户可以更有效地管理和利用自己的数字资源,适应不同的展示和传播需求...
PDF文件格式转换是一个常见的需求,尤其在文档处理和信息共享中。PDF(Portable Document Format)是一种通用的文件格式,能够保留原始文档的布局和样式,但有时我们需要将PDF转换为其他格式,以便编辑、重新排版或...
这款软件能够将PDF转换为Word(.doc或.docx)、图像文件(如.jpg、.png、.bmp等)、纯文本文件(.txt)、HTML网页以及SWF(Flash动画)格式,极大地扩展了PDF文件的应用范围。 PDFZilla的界面虽然以英文为主,但...
Swftools则是一个开源的命令行工具集,专门用于处理Adobe Flash相关的文件,包括将PDF转换为SWF(Flash动画文件),这是一种轻量级且适用于在线展示的文件格式。Swftools中的`pdf2swf.exe`工具就是用于这个目的,它...
2. **DOC到SWF转换**:SWF是用于网页的动画和交互式内容,FlashPaper2能够将Word文档转换为这种格式,便于在网络上传输和播放,且文件大小相对较小,利于快速加载。 二、为什么要进行DOC到PDF或SWF的转换: 1. **...
总结,通过OpenOffice和相关的Java库,我们可以实现Java环境下的文件格式转换,包括JPG图片和DOC文档转PDF,以及PDF转SWF。这些操作对于构建在线文档预览系统至关重要。同时,确保正确配置和安装相关软件、字体以及...
Ailt PDF to All Document Converter(PDF转换工具)是个实用的工具,可用于将PDF格式文件转换成Word, Excel, PowerPoint, SWF, image等格式的文件。 目前该软件已支持转换成DOC, DOCX, DOCM, RTF, XLS, XLSX, XLSM, ...
FlashPaper 2 令您轻易地将任何可打印的文档(Word、Excel)转换为 Swf 文件或 PDF 文件,并且转换后的文件具有很强的保密性,可以防止浏览者进行复制粘贴,从而保护了作者的劳动成果。此软件最大的好处是使您的文档...