下载OpenOffice
https://soft.wsyhn.com/soft/OpenOffice_4.1.14.exe
启动命令
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
pom
<dependency><groupId>org.openoffice</groupId><artifactId>juh</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.openoffice</groupId><artifactId>unoil</artifactId><version>4.1.2</version></dependency><dependency><groupId>com.artofsolving</groupId><artifactId>jodconverter</artifactId><version>2.2.2</version><scope>system</scope><systemPath>${project.basedir}/lib/jodconverter-2.2.2.jar</systemPath></dependency>
jodconverter 需要手动下载
https://gitcode.com/open-source-toolkit/9aa3c
java
@Testvoid wordToPdf2() {try {wordToPdf("E:\\tmp\\固定取水户中南剧场每月现场勘验 (2).docx", "E:\\tmp\\固定取水户中南剧场每月现场勘验 (2).pdf");} catch (ConnectException e) {throw new RuntimeException(e);}}public static void wordToPdf(String docFile, String pdfFile) throws ConnectException {long old = System.currentTimeMillis();
// 源文件目录File inputFile = new File(docFile);System.out.println(inputFile.getName());
// 输出文件目录File outputFile = new File(pdfFile);if (!outputFile.getParentFile().exists()) {outputFile.getParentFile().exists();}
// 连接openoffice服务OpenOfficeConnection connection = new SocketOpenOfficeConnection("127.0.0.1", 8100);//"192.168.124.201", 8100);connection.connect();// 转换word到pdfDocumentConverter converter = new StreamOpenOfficeDocumentConverter(connection);converter.convert(inputFile, outputFile);
// 关闭连接connection.disconnect();long now = System.currentTimeMillis();System.out.println("pdf转换成功,共耗时:" + ((now - old) / 1000.0) + "秒"); // 转化用时}
参考文章
https://blog.csdn.net/feifeifei666/article/details/136396279