因本人参加自考搜集了一批资料是pdf格式的,但因为编辑麻烦繁琐,(可能是因为不会用),所以网上各种搜索格式pdf转换工具,但基本上都是免费三页,再多就需要冲各种会员了,奈何本人囊中羞涩,而且只用一次,感觉开这个必要不大。
所以就起了自己尝试写一下的冲动,先去搜了个教程,发现还蛮简单,就自己写了作为自己转换用。
以下附上代码,(暂时只能转换纯文本性的文件,转换出来可能包含些许换行,等以后再去研究)
首先导入pdf转word jar包,使用maven引入依赖,
<!--pdf转word-->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>fontbox</artifactId>
<version>2.0.11</version>
</dependency>
<dependency>
<groupId>com.levigo.jbig2</groupId>
<artifactId>levigo-jbig2-imageio</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox-tools</artifactId>
<version>2.0.11</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
后面是java代码
package com.crux.posms;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import java.io.*;
public class pdftest {
/**
* 转换
*/
public static void convertText(String pdfPath) {
PDDocument doc = null;
OutputStream fos = null;
Writer writer = null;
PDFTextStripper stripper = null;
try {
doc = PDDocument.load(new File(pdfPath));
fos = new FileOutputStream(pdfPath.substring(0, pdfPath.indexOf(".")) + ".doc");
writer = new OutputStreamWriter(fos, "UTF-8");
stripper = new PDFTextStripper();
int pageNumber = doc.getNumberOfPages();
stripper.setSortByPosition(true);
stripper.setStartPage(1);
stripper.setEndPage(pageNumber);
stripper.writeText(doc, writer);
writer.close();
doc.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("end..");
}
public static void main(String[] args) {
convertText("E:\\test.pdf");
}
}
暂时文件路径从后台写死。后期再去写成网站形式。突然萌生了做一个工具站的想法了,就做免费的,那些大佬们会不会打我,哈哈,先立个flag吧。这个希望自己不会忘掉