package xx.convert.util;
import com.aspose.pdf.Document;
import com.aspose.pdf.SaveFormat;
import com.documents4j.api.DocumentType;
import com.documents4j.api.IConverter;
import com.documents4j.job.LocalConverter;
import java.io.*;
/**
* PDF转换工具类
* @author yyq
*/
public class PdfUtil {
public static void main(String[] args) {
//pdfToObj("C:\\Users\\Administrator\\Desktop\\测试.pdf", "docx");
String filePath = "C:\\Users\\Administrator\\Desktop\\测试.docx";
String outFilePath = "C:\\Users\\Administrator\\Desktop\\测试.pdf";
objToPdf(filePath, outFilePath, "docx");
}
/**
* PDF 转 doc、Excel、xml
* @param pdfPath 需要转换的pdf路径
* @param suffix 文件后缀
*/
public static void pdfToObj(String pdfPath, String suffix) {
long old = System.currentTimeMillis();
FileOutputStream os = null;
try {
// 新建一个word文档
String wordPath = pdfPath.substring(0, pdfPath.lastIndexOf(".")) + "." + suffix;
os = new FileOutputStream(wordPath);
// doc是将要被转化的word文档
Document doc = new Document(pdfPath);
// 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 相互转换
if(suffix.equals("doc")){
doc.save(os, SaveFormat.Doc);
}else if(suffix.equals("docx")){
doc.save(os, SaveFormat.DocX);
}else if(suffix.equals("xls") || suffix.equals("xlsx")){
doc.save(os, SaveFormat.Excel);
}else if(suffix.equals("html")){
doc.save(os, SaveFormat.Html);
}else if(suffix.equals("xml")){
doc.save(os, SaveFormat.Xml);
}
os.close();
// 转化耗时
long now = System.currentTimeMillis();
long useTime = ((now - old) / 1000);
System.out.println("Pdf 转 Word 共耗时:" + useTime + "秒");
} catch (Exception e) {
System.out.println("Pdf 转 Word 失败...");
e.printStackTrace();
}finally {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* txt、doc、Excel、xml 转 PDF
* @param oidPath 需要转的文件路径
* @param newPath 转成的PDF文件路径
*/
public static void objToPdf(String oidPath, String newPath, String suffix){
InputStream inputStream = null;
OutputStream outputStream = null;
IConverter converter = null;
try {
// 源文件地址
File oidFile = new File(oidPath);
// 导出文件地址
File newFile = new File(newPath);
// 文件读取
inputStream = new FileInputStream(oidFile);
outputStream = new FileOutputStream(newFile);
// 开始转换
converter = LocalConverter.builder().build();
boolean flag = false;
if(suffix.equals("doc")){
flag = converter.convert(inputStream).as(DocumentType.DOC).to(outputStream).as(DocumentType.PDF).execute();
}else if(suffix.equals("docx")){
flag = converter.convert(inputStream).as(DocumentType.DOCX).to(outputStream).as(DocumentType.PDF).execute();
}else if(suffix.equals("txt")){
flag = converter.convert(inputStream).as(DocumentType.TEXT).to(outputStream).as(DocumentType.PDF).execute();
}else if(suffix.equals("xls")){
flag = converter.convert(inputStream).as(DocumentType.XLS).to(outputStream).as(DocumentType.PDF).execute();
}else if(suffix.equals("xlsx")){
flag = converter.convert(inputStream).as(DocumentType.XLSX).to(outputStream).as(DocumentType.PDF).execute();
}else if(suffix.equals("html")){
flag = converter.convert(inputStream).as(DocumentType.MHTML).to(outputStream).as(DocumentType.PDF).execute();
}else if(suffix.equals("xml")){
flag = converter.convert(inputStream).as(DocumentType.XML).to(outputStream).as(DocumentType.PDF).execute();
}
if (flag) {
converter.shutDown();
}
inputStream.close();
outputStream.close();
System.out.println("转换成功");
} catch (Exception e) {
converter.shutDown();
e.printStackTrace();
System.out.println("转换失败");
}finally {
try {
inputStream.close();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
java实现word文档转PDF,PDF转word
需积分: 5 46 浏览量
2023-08-14
17:54:04
上传
评论
收藏 61.59MB ZIP 举报
慕云枫
- 粉丝: 276
- 资源: 15
最新资源
- 农村信用社联合社计算机信息系统投产与变更管理办.docx
- 农村信用社联合社计算机信息系统数据管理办法.docx
- 利用SPSS作临床效度分析线上计算网站介绍-医学研究部统计谘.(医学PPT课件).ppt
- 利用Zabbix监控mysqldump定时备份数据库状态.docx
- 利用计算机解决问题的基本过程.doc
- 化工铁路通信工程总结.doc
- 北京大学网络教育软件工程作业.docx
- 医药公司(连锁店)计算机操作规程未新系统的自行按照旧制修改-新系统过制的编号加修模版.doc
- 医药公司(连锁店)计算机系统操作规程模版.doc
- 医药连锁门店计算机系统的操作和管理程序未新系统的自行按照旧制修改-新系统过制的编号加修模版.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈