转换器?"/>
如何制作【WPS】文档转换器?
如何制作【WPS】文档转换器?
- 不是要做一个单纯优秀的人,而是要做一个不可替代的人。 - - 阳墨余
- 一、实现思路
- 1.1、注释
- 1.2、思路
- 1.3、第三方库的Springboot依赖
- 二、知识梳理
- 1、Java将Word文档转换为PDF
- 2、Java转换Word到PNG、 XPS、 XML、RTF等格式文档
- 3、Java将PDF转化为图片
- 4、Java将 PDF转换为 HTML、Word、SVG、XPS等文件格式
- 三、开发文档
不是要做一个单纯优秀的人,而是要做一个不可替代的人。 - - 阳墨余
一、实现思路
最近在学习
Springboot
框架,突发奇想的想利用springboot来实现Word
的这么一个功能,可是在网上找了许多,发现都不怎么齐全,或者说讲解的不是很清楚,如果是没有怎么接触Springboot
,或者说是不太了解Spire.Doc.jar
和Spire.Pdf.jar
这样的第三方库的人,在实现的时候就比较困难,毕竟很多东西都需要自己编写与实现,比如需要使用OCR
技术来扫描,获取word
文件。
1.1、注释
由于采用第三方库Iceblue官网 来实现
Word
文档,所以使用该库转化的话有一个限制,免费转化页数为11页。
Jar包下载
Spire.PDF for java 下载
Spire.Doc for java 下载
1.2、思路
/** PDF转化为Word(伪代码)*///1、如果PDF文件的页数小于11,直接将PDF转化为Wordif(file.TotalPage<=11)PDF => Word/***2、当PDF的页数大于11时候,将该PDF转化为页数为11的子PDF文件,然后分别进行步骤 1* 最后合并所有的word文件为一个word文件并输出到当前上传文件所在的路径上*/elsePDF => PDF[] files = PDF.split();for i=0 to files.length - 1(PDF)files[i] => WordsrcPathFile[i] = Word //合并分片后的子word文件MergeWord(srcPathFile)
1.3、第三方库的Springboot依赖
<repositories><repository><id>com.e-iceblue</id><url>/</url></repository>
</repositories><dependencies><dependency><groupId>e-iceblue</groupId><artifactId>spire.pdf.free</artifactId><version>2.6.3</version></dependency><dependency><groupId>e-iceblue</groupId><artifactId>spire.doc.free</artifactId><version>2.7.3</version></dependency><dependency><groupId>e-iceblue</groupId><artifactId>spire.xls.free</artifactId><version>2.2.0</version></dependency><dependency><groupId>e-iceblue</groupId><artifactId>spire.barcode.free</artifactId><version>2.6.2</version></dependency><dependency><groupId>e-iceblue</groupId><artifactId>spire.office.free</artifactId><version>3.1.1</version></dependency><dependency><groupId>e-iceblue</groupId><artifactId>spire.presentation.free</artifactId><version>2.6.1</version></dependency>
</dependencies>
二、知识梳理
在开始实现该功能之前,习惯性我们都来梳理一下实现该功能,我们需要了解、掌握哪些知识,一来让我们更加深入了解该功能涉及到的知识,增加我们的知识库,其二让我们在实现该功能的时候更加透明的了解其整个实现。
1、Java将Word文档转换为PDF
Spire.Doc
能够非常完美的识别中文字符并支持丰富的word
文档元素:文本框、页眉、页脚、项目符号和编号、表格、文本、超链接、水印、图片、形状等。
示例代码
import com.spire.doc.*;public class WordToPDF{public static void main(String[] args){//加载word文档Document document = new Document();document.loadFromFile("Sample.docx");//保存结果文档document.saveToFile("./out/toPDF.pdf",fileFromat.PDF);}
}
2、Java转换Word到PNG、 XPS、 XML、RTF等格式文档
Word
是一种很好的排版工具,我们用Word创建好文档后往往需要保存成Spire.Doc for Java
转换Word
文档到PNG
、XPS
、RTF
等格式文档。
示例代码
import com.spire.doc.Document;
import com.spire.doc.FileFromat;
import com.spire.doc.documents.ImageType;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;public class ConvertWordToOtherFormats{public static void main(String[] args) throw IOException{//创建Document对象Document doc = new Document;//加载Word文档doc.loadFromFile("c:\\users\\Administrator\\Desktop\\sample.docx");//将指定页保存为BufferedImageBufferedImage image = doc.saveToImages(0,ImageType.Bittmap);//将图片数据保存为PNG格式文档File file = new File("output/ToPNG.png");ImageIO.write(image,"PNG",file);//将word保存为SVG格式doc.saveToFile("output/ToSVG.svg",FileFormat.SVG);//将word保存为RTF格式doc.saveToFile("output/ToRTF.rtf",FileFormat.Rtf);//将Word转换为xps格式doc.saveToFile("output/ToXML.xml",FileFormat.xml);//将word保存为Txt格式dox.saveToFile("output/ToTxt.txt",FileFormat.Txt);}
}
3、Java将PDF转化为图片
Spire.PDF for JAVA在Java程序中将PDF转换成图片。并且Spire.PDF 能够非常完美的识别中文字符并将其转换为图片,支持的图片格式有Jpeg, Jpg, Png, Bmp, Tiff, Gif, EMF等。
示例代码
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import com.spire.pdf.PdfDocument;
import javax.imageio.ImageIO;public class toImage {public static void main(String[] args) throws IOException {//加载PDF文件PdfDocument doc = new PdfDocument();doc.loadFromFile("Sample.pdf");//保存PDF的每一页到图片BufferedImage image;for (int i = 0; i < doc.getPages().getCount(); i++) {image = doc.saveAsImage(i);File file = new File( String.format("ToImage-img-%d.png", i));ImageIO.write(image, "PNG", file);}doc.close();}}
4、Java将 PDF转换为 HTML、Word、SVG、XPS等文件格式
Spire.PDF for Java
可以将HTML
、Word
、SVG
格式,以及将XPS
和Spire.PDF for Java
还支持将PDF/A
,将
示例代码
/***PDF转化为HTML*/ //1,加载PDF文件PdfDocumnet pdf = new PdfDocument();pdf.loadFromFile("Input.pdf");//2、保存文件为HTML格式pdf.saveFile("ToHTML.html",FileFormat.HTML);/*** PDF转化为Word*///1、加载PDF文件PdfDocument pdf = new PdfDocument();pdf.loadFromFile("Input.pdf");//2、保存为Word文件格式pdf.saveToFile("ToWord.docx",FileFormat.DOCX);/*** PDF 转化为SVG*/ // 1、加载PDF文件PdfDocument pdf = new PdfDocument();pdf.loadFromFile("Input.pdf");//2、保存为SVG格式pdf.saveToFile("ToSVG.svg",FileFormat.SVG);/*** XPS与PDF互相转换*/ //1、XPS -> PDFPdfDocumentFile pdf = new PdfDocument();pdf.loadFromXPS("ToXPS.xps");pdf.saveToFile("ToPDF.pdf",FileFormat.PDF);//2、PDF -> XPSPdfDocument pdf = new PdfDocument();pdf.loadFromFile("Input.pdf");pdf.saveToFile("ToXPS.xps",FileFormat.XPS);
三、开发文档
更多推荐
如何制作【WPS】文档转换器?
发布评论