所需依赖
- <dependency>
- <groupId>e-icebluegroupId>
- <artifactId>spire.doc.freeartifactId>
- <version>3.9.0version>
- dependency>
-
- <repositories>
- <repository>
- <id>com.e-iceblueid>
- <name>e-icebluename>
- <url>http://repo.e-iceblue.com/nexus/content/groups/public/url>
- repository>
-
- repositories>
测试代码
- public static void main(String[] args) {
- Document document =new Document();
- document.loadFromFile("C:\\Users\\11949\\Desktop\\工作票3.docx");
- document.saveToFile("C:\\Users\\11949\\Desktop\\工作票3.pdf", FileFormat.PDF);
- }
实际使用
- @GetMapping(value = "/exportWordTestPDFUrl")
- public R> exportWordTestUrl(@RequestParam Map
mapCon , HttpServletResponse response ) throws Exception { - R resultBody = replaceWordDataService.replaceWord( mapCon );
- if(resultBody.getCode() == 0 ){
- byte[] array = null;
- ExportWordDTO data = (ExportWordDTO) resultBody.getData();
- XWPFTemplate template = data.getXwpfTemplate();
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- template.writeAndClose( baos );//文档写入流
- array = baos.toByteArray();
- baos.close();
- template.close();
- // 替换后的word转流
- InputStream inputStream = new ByteArrayInputStream( array ) ;
-
- Document document =new Document();
- document.loadFromStream(inputStream,FileFormat.Docx_2013);
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- document.saveToStream(outputStream, FileFormat.PDF);
- byte[] pdfArray = null;
- pdfArray = outputStream.toByteArray();
- outputStream.close();
- R
upload = - remoteFileService.upload(pdfArray, 1, applicationName, data.getOutFileName()+".pdf");
- if (null != upload && upload.getCode() == 0){
- // 将url 返回前端
- ResultFileModel fileModel = upload.getData();
- String path = fileModel.getAddress() + fileModel.getPath();
- return R.ok().data( path );
- }else {
- return R.fail().msg( "文件上传失败!" );
- }
- }
- return R.fail().msg(resultBody.getMsg());
- }