Aspose word pdf 相互转换
生活随笔
收集整理的這篇文章主要介紹了
Aspose word pdf 相互转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Aspose word pdf 相互轉換
工具類
文件的詳細路徑:
pdfToDoc(String pdfPath, String docPath)
輸入流:
pdfToDoc(InputStream pdfPathInputStream, String docPath)
controller
// An highlighted block package com.example.wordpdf.controller;import com.aspose.words.Document; import com.aspose.words.License; import com.aspose.words.SaveFormat; import com.example.wordpdf.utils.PdfToWord; import com.example.wordpdf.utils.WordToPdf; import org.springframework.core.io.ClassPathResource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest;import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.util.Date;/*** @ProjectName: word-pdf* @Package: com.example.wordpdf.controller* @ClassName: FileController* @Author: jibl* @Description:* @Date: 2021/11/23 14:32* @Version: 1.0*/ @Controller @RequestMapping("/file") public class FileController {public static void main(String[] args) {File file = WordToPdf.docToPdf("D:/upload/test.doc", "D:/upload/test666.pdf");}@RequestMapping("/docToPdf")public void importPdfFile(@RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IOException {System.out.println("doc =====> PDF");InputStream inputStream = file.getInputStream();File converFile = WordToPdf.docToPdf(inputStream,"D:/upload/"+new Date().getTime() +".pdf");inputStream.close();System.out.println("====轉化成功!====");response.setContentType("application/x-download");response.setHeader("Content-Disposition", "attachment;filename="+ new String("ggg.pdf".getBytes(),"iso-8859-1"));InputStream is = new FileInputStream(converFile);ServletOutputStream oupstream = response.getOutputStream();byte[] buffer = new byte[512]; // 緩沖區int bytesToRead = -1;// 通過循環將讀入的文件的內容輸出到瀏覽器中while ((bytesToRead = is.read(buffer)) != -1) {oupstream.write(buffer, 0, bytesToRead);}oupstream.close();is.close();}@RequestMapping("/pdfToDoc")public void importDocFile(@RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IOException {System.out.println("doc =====> PDF");InputStream inputStream = file.getInputStream();File converFile = PdfToWord.pdfToDoc(inputStream,"D:/upload/"+new Date().getTime() +".doc");inputStream.close();System.out.println("====轉化成功!====");response.setContentType("application/x-download");response.setHeader("Content-Disposition", "attachment;filename="+ new String("ggg.pdf".getBytes(),"iso-8859-1"));InputStream is = new FileInputStream(converFile);ServletOutputStream oupstream = response.getOutputStream();byte[] buffer = new byte[512]; // 緩沖區int bytesToRead = -1;// 通過循環將讀入的文件的內容輸出到瀏覽器中while ((bytesToRead = is.read(buffer)) != -1) {oupstream.write(buffer, 0, bytesToRead);}oupstream.close();is.close();}}html
// An highlighted block <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>PDF-WORD轉化</title><script src="/jquery-3.2.1/jquery-3.2.1.js"></script><link type="text/css" rel="stylesheet"href="/bootstrap-3.4.1/css/bootstrap.css"/><script src="/bootstrap-3.4.1/js/bootstrap.js"></script><style>* {margin: 0px;padding: 0px;}html, body {margin: 0px;width: 100%;height: 100%;}</style> </head> <body> <div class="container" style="padding: 20px;height:95%"><div class="panel panel-info"><div class="panel-heading"><h3 class="panel-title">WORD/PDF轉化</h3></div><div class="panel-body"><div class="row" style="margin-top: 10px;"><div class="col-sm-3"></div><div class="col-sm-4"><input type='text' class="form-control" style="width:100%"name='filename' id='filename' autocomplete="off"readonly="readonly" /></div><div class="col-sm-2"><input onclick="upload()" value="選擇文件上傳" type="button"class="btn btn-primary" /></div><input type="file" id="file" accept=".doc,.pdf" name="file"style="display: none" /></div><div class="row" style="margin-top: 10px;margin-right: 20px;text-align: right"><button type="button" class="btn btn-primary" onclick="docToPdf()">Word轉PDF</button><button type="button" class="btn btn-info" onclick="pdfToDoc()">PDF轉Word</button></div></div></div></div> </body> <script>function upload() {$("#file").click();$('#file').change(function(e) {fileName = e.target.files[0];// 上傳文件對象$("#filename").val(fileName.name.substring(fileName.name.lastIndexOf('.')));if (fileName !== undefined) {var file_typename = fileName.name.substring(fileName.name.lastIndexOf('.'));if (file_typename === '.doc' || file_typename === '.pdf') {$("#filename").css("display", "block");$("#filename").val(fileName.name);// UpladFile(fileName);} else {$("#filename").val("")alert("請選擇正確的文件類型!")}} else {$("#filename").val("")alert("請選擇正確的文件!")}})}function docToPdf() {var formData = new FormData();formData.append("file", fileName); // form中放入文件對象var xhr = new XMLHttpRequest();xhr.open('POST', "http://localhost:8066/file/docToPdf", true); // 也可以使用POST方式,根據接口// xhr.setRequestHeader("Content-Type","multipart/form-data");xhr.responseType = "blob"; // 返回類型blob// 定義請求完成的處理函數,請求前也可以增加加載框/禁用下載按鈕邏輯xhr.onload = function () {// 請求完成if (this.status === 200) {// 返回200var blob = this.response;var reader = new FileReader();reader.readAsDataURL(blob); // 轉換為base64,可以直接放入a表情hrefreader.onload = function (e) {// 轉換完成,創建一個a標簽用于下載var a = document.createElement('a');a.download = new Date().getTime()+'.pdf';a.href = e.target.result;a.click();}}};// 發送ajax請求xhr.send(formData)}function pdfToDoc() {var formData = new FormData();formData.append("file", fileName); // form中放入文件對象var xhr = new XMLHttpRequest();xhr.open('POST', "http://localhost:8066/file/pdfToDoc", true); // 也可以使用POST方式,根據接口// xhr.setRequestHeader("Content-Type","multipart/form-data");xhr.responseType = "blob"; // 返回類型blob// 定義請求完成的處理函數,請求前也可以增加加載框/禁用下載按鈕邏輯xhr.onload = function () {// 請求完成if (this.status === 200) {// 返回200var blob = this.response;var reader = new FileReader();reader.readAsDataURL(blob); // 轉換為base64,可以直接放入a表情hrefreader.onload = function (e) {// 轉換完成,創建一個a標簽用于下載var a = document.createElement('a');a.download = new Date().getTime()+'.doc';a.href = e.target.result;a.click();}}};// 發送ajax請求xhr.send(formData)} </script> </html>pom
<!--word轉pdf--><dependency><groupId>com.aspose</groupId><artifactId>aspose-word</artifactId><version>15.8.0</version></dependency><!--pdf轉word--><dependency><groupId>com.aspose</groupId><artifactId>aspose-pdf</artifactId><version>15.8.0</version></dependency>百度云:
鏈接:https://pan.baidu.com/s/1uskoVYZvxHnc6COWW_eAJg
提取碼:qmz7
總結
以上是生活随笔為你收集整理的Aspose word pdf 相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET实现在Word指定页码之间插入另
- 下一篇: PDF复制文字到Word中太过混乱的解决