spring boot使用 OpenOffice doc,xlsx文档转pdf

1.下载OpenOffice

OpenOffice 下载地址http://www.openoffice.org/

2.下载完之后进入OpenOffice目录下的program

在这里插入图片描述
在这里插入图片描述

3.在当前文件夹进入cmd命令行输入(启动服务)

soffice  -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

在这里插入图片描述

4.程序代码

public class DOC2PDFUtil extends java.lang.Thread  {
     private File inputFile;// 需要转换的文件   
      private File outputFile;// 输出的文件   
      
      public DOC2PDFUtil(File inputFile, File outputFile) {   
         this.inputFile = inputFile;   
         this.outputFile = outputFile;  
     }   
      
     @SuppressWarnings("unused")
	public void docToPdf() {   
         Date start = new Date();   
          //连接远程的openoffice
         //OpenOfficeConnection connection = new SocketOpenOfficeConnection("192.168.60.39",8100);   
         
         OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);  
         try {   
             connection.connect();   
             DocumentConverter converter = new StreamOpenOfficeDocumentConverter(connection);   
             converter.convert(inputFile, outputFile);   
         } catch (ConnectException cex) {   
             cex.printStackTrace();   
         } finally {   
             // close the connection   
             if (connection != null) {   
                 connection.disconnect();   
                 connection = null;   
             }   
         }   
     }   
      
     /**  
       * 由于服务是线程不安全的,所以……需要启动线程  
        */  
     public void run() {   
         this.docToPdf();   
     }   
      
     public File getInputFile() {   
         return inputFile;   
     }   
      
     public void setInputFile(File inputFile) {   
         this.inputFile = inputFile;   
     }   
      
     public File getOutputFile() {   
         return outputFile;   
     }   
      
     public void setOutputFile(File outputFile) {   
         this.outputFile = outputFile;   
     }  
     
     public static void main(String[] args) {
    	// 需要转换的文件   
    	 File inputFile = new File("D:/zkxtwork/jts/trunk/zkxt-doc/jtsdoc/根目录/总经理办公室/aa.doc");
    	// 输出的文件   
    	 File outputFile = new File("D:/zkxtwork/jts/trunk/zkxt-doc/jtsdoc/jtsPdfUploadFile/20208/aa.pdf");
    	 DOC2PDFUtil dp = new DOC2PDFUtil(inputFile, outputFile);
		 dp.start();
	}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以帮你解决这个问题。首先,你需要在Linux系统中安装OpenOffice。然后,你可以使用Java的ProcessBuilder类来执行OpenOffice的命令行换操作。下面是一个简单的Spring Boot示例代码,可以将Word文档换为PDF: ```java import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Service; @Service public class WordToPdfConverter { public void convert(String inputPath, String outputPath) throws IOException { List<String> command = new ArrayList<String>(); command.add("/usr/bin/soffice"); // OpenOffice安装路径 command.add("--headless"); command.add("--convert-to"); command.add("pdf"); command.add("--outdir"); command.add(outputPath); command.add(inputPath); ProcessBuilder builder = new ProcessBuilder(); builder.command(command); builder.redirectErrorStream(true); Process process = builder.start(); try { process.waitFor(); } catch (InterruptedException e) { e.printStackTrace(); Thread.currentThread().interrupt(); } } } ``` 在这个示例中,我们使用ProcessBuilder类来启动OpenOffice的命令行换功能。我们将输入文档和输出目录作为参数传递给该方法。最后,我们使用waitFor()方法等待换进程的完成。 你可以将这个示例代码集成到你的Spring Boot应用程序中,以提供Word到PDF换服务。当然,你还需要实现一些安全措施来确保只有授权用户才能访问该服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值