[java]代码库/**

*OpenOffice可以到官网下载最新版的SWFTools也是直接搜索名字即可

*OpenOffice转2007版本一下的支持比较好2010以上对插入的艺术字表格等会丢失但是文字和图片还是没有问题的

*/

package com.java.doc2pdf;

import java.io.BufferedInputStream;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.net.ConnectException;

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;

/**

* doc docx格式转换

*/

public class DocConverter {

//Test测试方法

public static void main(String[] args) throws Exception {

DocConverter d = new DocConverter();

String fileString = "美文.doc";

String fileName = fileString.substring(0, fileString.lastIndexOf("."));

int a = d.office2PDF("D:\\美文.docx","D:\\美文.pdf");

System.out.println(a);

int b = d.pdf2swf("D:\\美文.pdf","D:\\美文.swf",fileName);

System.out.println(b);

}

/**

* doc转pdf

* @param sourceFile

* @param destFile

* @return

*/

public int office2PDF(String sourceFile, String destFile) {

try {

File inputFile = new File(sourceFile);

if (!inputFile.exists()) {

return -1;// 找不到源文件, 则返回-1

}

System.out.println("FindDocFile");

// 如果目标路径不存在, 则新建该路径

File outputFile = new File(destFile);

if (!outputFile.getParentFile().exists()) {

outputFile.getParentFile().mkdirs();

}

System.out.println("mkPdfFile");

//这里是OpenOffice的安装目录

String OpenOffice_HOME = "C:/Program Files (x86)/OpenOffice 4";

// 如果从文件中读取的URL地址最后一个字符不是 '\',则添加'\'

System.out.println(OpenOffice_HOME);

if (OpenOffice_HOME.charAt(OpenOffice_HOME.length() - 1) != '\\') {

OpenOffice_HOME += "\\";

}

// 启动OpenOffice的服务

System.out.println("OpenOfficeStart");

String command = OpenOffice_HOME

+ "program\\soffice.exe -headless -accept=\"socket,host=127.0.0.1,port=8100;urp;\"";

Process pro = Runtime.getRuntime().exec(command);

// connect to an OpenOffice.org instance running on port 8100

OpenOfficeConnection connection = new SocketOpenOfficeConnection(

"127.0.0.1", 8100);

connection.connect();

// convert

DocumentConverter converter = new OpenOfficeDocumentConverter(

connection);

converter.convert(inputFile, outputFile);

// close the connection

connection.disconnect();

// 关闭OpenOffice服务的进程

pro.destroy();

System.out.println("OpenOfficeStop");

return 0;

} catch (FileNotFoundException e) {

e.printStackTrace();

return -1;

} catch (ConnectException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return 1;

}

/**

* pdf转换成 swf

* @throws Exception

*/

private int pdf2swf(String pdfFile, String swfFile,String fileName) throws Exception {

try {

File inputFile = new File(pdfFile);

if (!inputFile.exists()) {

return -1;// 找不到源文件, 则返回-1

}

System.out.println("FindDocFile");

// 如果目标路径不存在, 则新建该路径

File outputFile = new File(swfFile);

if (!outputFile.getParentFile().exists()) {

outputFile.getParentFile().mkdirs();

}

System.out.println("mkSwfFile");

//这里是SWFTools的安装目录

String SWFTools_HOME = "F://test//SWFTools//pdf2swf.exe";

System.out.println("SWFToolsStart");

System.out.println(inputFile.getPath());

System.out.println(outputFile.getPath());

String command = (SWFTools_HOME

+" "+inputFile.getPath()+ " -o " +" "+ outputFile.getPath()

+ " -T 9");

System.out.println("转换命令:" + command);

Process pro = Runtime.getRuntime().exec(command);

System.out.println(loadStream(pro.getInputStream()));

System.out.println("swf文件转份成功!!!");

System.out.println(outputFile.getPath());

pro.destroy();

// if (inputFile.exists()) {

// inputFile.delete();

//}

System.out.println("SWFToolsStop");

return 0;

} catch (FileNotFoundException e) {

e.printStackTrace();

return -1;

} catch (ConnectException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return 0;

}

private static String loadStream(InputStream in) throws Exception {

int len = 0;

in = new BufferedInputStream(in);

StringBuffer buffer = new StringBuffer();

while ((len = in.read()) != -1) {

buffer.append((char) len);

}

return buffer.toString();

}

}

[源代码打包下载]

lib.zip(50积分)[2 次下载]

java swf转pdf_doc转pdf和pdf转swf相关推荐

  1. java将office文档,word,ppt,pdf文档转换成swf文件在线预览

    java将office文档pdf文档转换成swf文件在线预览 第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux ...

  2. (五)java实现文档的在线浏览-转换pdf的同时转为swf

    网上资料有很多office文档转为pdf,pdf转为swf,但都是单步转换.关于一起转换的资料比较少. 一起转换有个问题就是转为pdf时,这个转换过程将花费一段时间才能成功,如何控制在pdf转换成功后 ...

  3. c执行cmd pdf2swf_swftools实现pdf文档转swf文件 解决中文乱码

    通过swftools实现转换 2.安装完成之后,在命令行跳到安装目录,执行pdf2swf.exe d:\sss\123.pdf  -o 123.swf 如果123.pdf为多页的,则pdf2swf.e ...

  4. Java使用第三方工具包将word转换为PDF文件

    ** 最近有个需求是生成报表的同时需要提供word文档下载和PDF下载的功能,试了几款软件,最终选用Aspose.words工具,但是试用版会自动加水印和有页数限制,下附去水印教程和页数限制去除,方法 ...

  5. java 填充pdf_Java如何创建和填充PDF表单域(代码示例)

    本篇文章给大家带来的内容是关于Java如何创建和填充PDF表单域(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 表单域,可以按用途分为多种不同的类型,常见的有文本框.多行 ...

  6. 大学生java项目创意申请表_基于java ee的大学生作品展示系统.pdf

    基于java ee的大学生作品展示系统.pdf 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 第34卷第3期 2015年6月 南昌工程学院学 ...

  7. java txt 写入pdf_java学习笔记 读取pdf文件并写成txt文件输出

    1.用到的jar有:pdfbox-1.8.4.jar ,fontbox-1.8.4.jar ,pdfbox-app-1.8.4.jar , preflight-1.8.4.jar,preflight- ...

  8. nodejs调用java的jar包进行PPT转pdf

    nodejs调用java的jar包进行PPT转pdf 参考我之前写的"java版ppt转pdf(需要用到openoffice)linux版本"得到jar包:取名Test.jar n ...

  9. Java实现多个图片转化成PDF

    Java实现多个图片转化成PDF 依赖 <dependency><groupId>com.lowagie</groupId><artifactId>it ...

  10. 【Java】使用PDF模板合成PDF文件(文本 + 图片)

    使用PDF模板合成PDF文件(文字 + 图片) 制作PDF模板工具:Adobe Acrobat 9 Pro 导入依赖 <dependency><groupId>com.itex ...

最新文章

  1. java双目运算符重载,c++类的单目和双目运算符的重定义
  2. extundelete数据恢复实战!!!
  3. 云服务器上安装jboss_jboss的使用和安装
  4. selenium自动化测试_维持Selenium测试自动化的完美方法
  5. 扩展控件--NumberTextBox
  6. 攻防世界web题ics-06(爆破id值)
  7. python向it新增5个元素_Python序列、元组、列表、集合及字典笔记整理
  8. c语言gettext的头文件,C语言中用GNU gettext实现本地化
  9. 毕业一年后我转行NLP 这几点宝贵经验分享给大家
  10. 打印机怎么扫描到电脑_扫描全能王怎么把图片变成pdf_扫描全能王怎么把文件传到电脑上_问答...
  11. 百度 AI Studio 车牌识别
  12. 单片机的c语言程序设计与应用考题,单片机的C语言程序设计与应用—基于Proteus仿真(第4版)...
  13. 谷歌浏览器任务栏图标变白解决办法
  14. 《史蒂夫·乔布斯传》——童年篇有感
  15. 什么是私有云、公有云、混合云?什么是云计算管理平台?
  16. 管理是管事,领导是带人!
  17. 设计模式学习(汇总版)
  18. 在linux下安装配置Initiator
  19. html5定义一个变量,JavaScript 变量
  20. 在HTML中实现上划线,中划线和下划线

热门文章

  1. 斯坦福AI 5小时DNA测序破世界纪录!创人类新里程碑,成本仅3万
  2. 屠榜多目标跟踪!华科amp;港大提出ByteTrack:基于数据关联方法BYTE的跟踪器
  3. 如果卷积神经网络存在根本性的缺陷,你会怎么看?
  4. 还有多久才能用上2000元以下的5G手机?答案来了
  5. Spring基础专题——第八章(事务)
  6. Numpy之N维数组-ndarray
  7. 数据类型:Struct 和 Union区别
  8. 文件列表出现分页按钮
  9. cat在MATLAB中的应用
  10. 防火墙 加密 专用虚拟网 安全隔离 必然会不断浓缩