日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java實現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的實例代碼

瀏覽:218日期:2022-05-31 09:13:15

引言:

最近公司在做一個教育培訓(xùn)學(xué)習(xí)及在線考試的項目,本人主要從事網(wǎng)絡(luò)課程模塊,主要做課程分類,課程,課件的創(chuàng)建及在線學(xué)習(xí)和統(tǒng)計的功能,因為課件涉及到多種類型,像視頻,音頻,圖文,外部鏈接及文檔類型.其中就涉及到一個問題,就是文檔型課件課程在網(wǎng)頁上的展示和學(xué)習(xí)問題,因為要在線統(tǒng)計學(xué)習(xí)的課程,學(xué)習(xí)的人員,學(xué)習(xí)的時長,所以不能像傳統(tǒng)做法將文檔下載到本地學(xué)習(xí),那樣就不受系統(tǒng)控制了,所以最終的方案是,在上傳文檔型課件的時候,將其文件對應(yīng)的轉(zhuǎn)換成HTML文件,以便在網(wǎng)頁上能夠瀏覽學(xué)習(xí)

下邊主要針對word,pdf和txt文本文件進行轉(zhuǎn)換

一:Java實現(xiàn)將word轉(zhuǎn)換為html

1:引入依賴

<dependency> <groupId>fr.opensagres.xdocreport</groupId> <artifactId>fr.opensagres.xdocreport.document</artifactId> <version>1.0.5</version> </dependency> <dependency> <groupId>fr.opensagres.xdocreport</groupId> <artifactId>org.apache.poi.xwpf.converter.xhtml</artifactId> <version>1.0.5</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.12</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.12</version> </dependency>

2:代碼demo

package com.svse.controller; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.converter.PicturesManager; import org.apache.poi.hwpf.converter.WordToHtmlConverter; import org.apache.poi.hwpf.usermodel.PictureType; import org.apache.poi.xwpf.converter.core.BasicURIResolver; import org.apache.poi.xwpf.converter.core.FileImageExtractor; import org.apache.poi.xwpf.converter.core.FileURIResolver; import org.apache.poi.xwpf.converter.core.IURIResolver; import org.apache.poi.xwpf.converter.core.IXWPFConverter; import org.apache.poi.xwpf.converter.xhtml.XHTMLConverter; import org.apache.poi.xwpf.converter.xhtml.XHTMLOptions; import org.apache.poi.xwpf.usermodel.XWPFDocument; /** * word 轉(zhuǎn)換成html */public class TestWordToHtml { public static final String STORAGEPATH='C://works//files//'; public static final String IP='192.168.30.222'; public static final String PORT='8010'; public static void main(String[] args) throws IOException, TransformerException, ParserConfigurationException { TestWordToHtml wt=new TestWordToHtml(); //wt.Word2003ToHtml('甲骨文考證.doc'); wt.Word2007ToHtml('甲骨文考證.docx'); } /** * 2003版本word轉(zhuǎn)換成html * @throws IOException * @throws TransformerException * @throws ParserConfigurationException */ public void Word2003ToHtml(String fileName) throws IOException, TransformerException, ParserConfigurationException { final String imagepath = STORAGEPATH+'fileImage/';//解析時候如果doc文件中有圖片 圖片會保存在此路徑 final String strRanString=getRandomNum(); String filepath =STORAGEPATH; String htmlName =fileName.substring(0, fileName.indexOf('.'))+ '2003.html'; final String file = filepath + fileName; InputStream input = new FileInputStream(new File(file)); HWPFDocument wordDocument = new HWPFDocument(input); WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument()); //設(shè)置圖片存放的位置 wordToHtmlConverter.setPicturesManager(new PicturesManager() { public String savePicture(byte[] content, PictureType pictureType, String suggestedName, float widthInches, float heightInches) {File imgPath = new File(imagepath);if(!imgPath.exists()){//圖片目錄不存在則創(chuàng)建 imgPath.mkdirs();} File file = new File(imagepath +strRanString+suggestedName);try { OutputStream os = new FileOutputStream(file); os.write(content); os.close();} catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace();} return 'http://'+IP+':'+PORT+'//uploadFile/fileImage/'+strRanString+suggestedName; // return imagepath +strRanString+suggestedName; } }); //解析word文檔 wordToHtmlConverter.processDocument(wordDocument); Document htmlDocument = wordToHtmlConverter.getDocument(); File htmlFile = new File(filepath +strRanString+htmlName); OutputStream outStream = new FileOutputStream(htmlFile); DOMSource domSource = new DOMSource(htmlDocument); StreamResult streamResult = new StreamResult(outStream); TransformerFactory factory = TransformerFactory.newInstance(); Transformer serializer = factory.newTransformer(); serializer.setOutputProperty(OutputKeys.ENCODING, 'utf-8'); serializer.setOutputProperty(OutputKeys.INDENT, 'yes'); serializer.setOutputProperty(OutputKeys.METHOD, 'html');serializer.transform(domSource, streamResult); outStream.close(); System.out.println('生成html文件路徑:'+ 'http://'+IP+':'+PORT+'//uploadFile/'+strRanString+htmlName); } /** * 2007版本word轉(zhuǎn)換成html * @throws IOException */ public void Word2007ToHtml(String fileName) throws IOException { final String strRanString=getRandomNum(); String filepath = STORAGEPATH+strRanString; String htmlName =fileName.substring(0, fileName.indexOf('.'))+ '2007.html'; File f = new File(STORAGEPATH+fileName); if (!f.exists()) {System.out.println('Sorry File does not Exists!'); } else {if (f.getName().endsWith('.docx') || f.getName().endsWith('.DOCX')) { try { // 1) 加載word文檔生成 XWPFDocument對象 InputStream in = new FileInputStream(f); XWPFDocument document = new XWPFDocument(in); // 2) 解析 XHTML配置 (這里設(shè)置IURIResolver來設(shè)置圖片存放的目錄) File imageFolderFile = new File(filepath); XHTMLOptions options = XHTMLOptions.create().URIResolver(new FileURIResolver(imageFolderFile)); options.setExtractor(new FileImageExtractor(imageFolderFile)); options.URIResolver(new IURIResolver() { public String resolve(String uri) { //http://192.168.30.222:8010//uploadFile/.... return 'http://'+IP+':'+PORT+'//uploadFile/'+strRanString +'/'+ uri; } }); options.setIgnoreStylesIfUnused(false); options.setFragment(true); // 3) 將 XWPFDocument轉(zhuǎn)換成XHTML OutputStream out = new FileOutputStream(new File(filepath + htmlName)); IXWPFConverter<XHTMLOptions> converter = XHTMLConverter.getInstance(); converter.convert(document,out, options); //XHTMLConverter.getInstance().convert(document, out, options); System.out.println('html路徑:'+'http://'+IP+':'+PORT+'//uploadFile/'+strRanString+htmlName); } catch (Exception e) { e.printStackTrace(); } } else { System.out.println('Enter only MS Office 2007+ files');} } } /** *功能說明:生成時間戳 *創(chuàng)建人:zsq *創(chuàng)建時間:2019年12月7日 下午2:37:09 * */ public static String getRandomNum(){ Date dt = new Date(); SimpleDateFormat sdf = new SimpleDateFormat('yyyyMMddHHmmss'); String str=sdf.format(dt); return str; } }

二:Java實現(xiàn)將Pdf轉(zhuǎn)換為html

1: 引入依賴

<dependency> <groupId>net.sf.cssbox</groupId> <artifactId>pdf2dom</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.12</version> </dependency> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox-tools</artifactId> <version>2.0.12</version> </dependency>

2:代碼Demo

public class PdfToHtml { /* pdf轉(zhuǎn)換html */ public void pdfToHtmlTest(String inPdfPath,String outputHtmlPath) { // String outputPath = 'C:worksfilesZSQ保密知識測試題庫.html'; //try() 寫在()里面會自動關(guān)閉流 try{ BufferedWriter out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(outputHtmlPath)),'utf-8')); //加載PDF文檔 //PDDocument document = PDDocument.load(bytes); PDDocument document = PDDocument.load(new File(inPdfPath)); PDFDomTree pdfDomTree = new PDFDomTree(); pdfDomTree.writeText(document,out); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) throws IOException { PdfToHtml ph=new PdfToHtml(); String pdfPath='C:worksfiles武研中心行政考勤制度.pdf'; String outputPath='C:worksfiles武研中心行政考勤制度.html'; ph.pdfToHtmlTest(pdfPath,outputPath); } }

三:Java實現(xiàn)將TXT轉(zhuǎn)換為html

/* * txt文檔轉(zhuǎn)html filePath:txt原文件路徑 htmlPosition:轉(zhuǎn)化后生成的html路徑 */ public static void txtToHtml(String filePath, String htmlPosition) { try { //String encoding = 'GBK'; File file = new File(filePath); if (file.isFile() && file.exists()) { // 判斷文件是否存在 InputStreamReader read = new InputStreamReader(new FileInputStream(file), 'GBK'); // 考慮到編碼格式 BufferedReader bufferedReader = new BufferedReader(read); // 寫文件 FileOutputStream fos = new FileOutputStream(new File(htmlPosition)); OutputStreamWriter osw = new OutputStreamWriter(fos, 'GBK'); BufferedWriter bw = new BufferedWriter(osw); String lineTxt = null; while ((lineTxt = bufferedReader.readLine()) != null) { bw.write(' '+lineTxt + '</br>'); } bw.close(); osw.close(); fos.close(); read.close(); } else { System.out.println('找不到指定的文件'); } } catch (Exception e) { System.out.println('讀取文件內(nèi)容出錯'); e.printStackTrace(); } }

總結(jié)

到此這篇關(guān)于Java實現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的實例代碼的文章就介紹到這了,更多相關(guān)java word pdf txt 轉(zhuǎn)html內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: word
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
爽好久久久欧美精品| 久久国产精品免费精品3p| 亚洲一区国产一区| 国产精品99免费看| 99久久亚洲精品蜜臀| 欧美片第1页| 深夜视频一区二区| 伊人久久大香线蕉av不卡| 日韩中文在线播放| 不卡一区综合视频| 亚洲一区二区免费看| 在线看片日韩| 国产日韩欧美中文在线| 日韩不卡在线观看日韩不卡视频| 首页亚洲欧美制服丝腿| 亚洲另类av| 国产精品九九| 蜜桃av.网站在线观看| 红桃视频国产一区| 91欧美极品| 国产传媒av在线| 精品国产午夜| 亚洲自拍另类| 国产精品入口久久| 欧美jjzz| 日韩激情综合| 日韩精品首页| 日韩精品成人| 欧产日产国产精品视频| 日韩成人亚洲| 日韩中出av| 国产va在线视频| 无码日韩精品一区二区免费| 亚洲最新无码中文字幕久久 | 精品五月天堂| 综合一区在线| 亚洲九九精品| 性欧美videohd高精| 欧美三区不卡| 国产一区二区高清| 成人影视亚洲图片在线| 日韩高清在线不卡| 久久精品青草| 久久精品国产99国产| 免费观看在线色综合| 视频二区不卡| 麻豆网站免费在线观看| 久久国产精品色av免费看| 蜜臀国产一区二区三区在线播放 | 日韩精品1区2区3区| 欧美午夜不卡| 不卡视频在线| 激情偷拍久久| 久久久亚洲一区| 成人av三级| 国产精品久久久久久av公交车| 最新亚洲国产| 中文视频一区| 免费不卡在线观看| 首页国产欧美日韩丝袜| 91精品99| 天堂av在线一区| 亚洲我射av| 亚洲精选成人| 热久久久久久久| 一区二区国产在线| 亚洲精品自拍| 久久福利在线| 国产一区国产二区国产三区| 精品女同一区二区三区在线观看| 欧美日韩精品一区二区三区视频 | 精品九九久久| 欧产日产国产精品视频| 免费污视频在线一区| 91精品精品| 只有精品亚洲| 91国内精品| 久久成人高清| 黄色aa久久| 狠狠久久婷婷| 亚洲毛片在线| 麻豆中文一区二区| 欧美理论视频| 7777精品| 国产成人免费精品| 日韩午夜av| 美女精品一区二区| 精品中文一区| 久久99精品久久久野外观看| 欧美好骚综合网| 在线亚洲观看| 久久中文字幕导航| 美女精品一区| 黑人精品一区| 日韩精品第二页| 日韩精品看片| 久久影院资源站| 蜜臀久久99精品久久久久宅男| 精品资源在线| 久久亚洲精品伦理| 国产在线观看www| 91精品国产自产观看在线| 999久久久亚洲| 国产精品porn| 亚洲五月综合| 一区二区三区四区在线看| 国产日产一区| 蜜桃av一区二区在线观看| av资源中文在线| 久久av网站| 日韩中文字幕| 日韩影院在线观看| 不卡在线一区| 99久久99久久精品国产片果冰| 亚洲日韩中文字幕一区| 欧美国产91| 色老板在线视频一区二区| 久久免费精品| 国产精品高清一区二区| 日韩国产成人精品| 亚洲人成网77777色在线播放| 亚洲国产不卡| 亚洲一区不卡| 日本午夜精品| 国产精品自拍区| 国产人成精品一区二区三| 亚洲综合图色| 国产精品视区| 蜜桃一区二区三区在线| 亚洲大片在线| 91精品二区| 亚洲视频二区| 日本成人精品| 欧美欧美黄在线二区| 国产乱码精品一区二区三区亚洲人| 日韩免费精品| 久久不见久久见中文字幕免费| 国产精品观看| 欧产日产国产精品视频| 午夜久久tv| 综合激情网...| 国产欧美高清| 日韩欧美一区二区三区在线观看 | 黄色不卡一区| 免费视频一区二区| 日韩av午夜在线观看| 国产精品欧美大片| 韩国一区二区三区视频| 国产精品av一区二区| 日韩欧美在线精品| 超碰在线99| 红桃视频国产精品| 日韩av电影一区| 91亚洲国产| 丝袜国产日韩另类美女| 国产精品久久久亚洲一区| 欧美不卡高清一区二区三区| 麻豆91精品| 福利一区视频| 亚洲理论在线| 日韩久久精品| 亚州精品视频| 日本蜜桃在线观看视频| 男女激情视频一区| 日韩大片在线播放| 日本高清久久| 国产精品成久久久久| 中文在线不卡| 97se综合| 国产伦精品一区二区三区千人斩| 久久久久国产| 麻豆精品在线播放| 亚洲日本久久| 国产99亚洲| 成人一区而且| 欧美伊人久久| 麻豆成人在线| 自拍日韩欧美| 日韩精品一区二区三区免费观影| 国产精品hd| 欧美日韩a区| 午夜在线视频观看日韩17c| 国产在视频一区二区三区吞精| 日韩精品中文字幕吗一区二区 | 亚洲精品乱码| 亚洲综合精品| 红桃视频亚洲| 在线视频精品| 国产一区日韩一区| 久久久久午夜电影| 色黄视频在线观看| 国产精品成人一区二区不卡| 国产欧美日韩影院| 欧美日韩亚洲一区三区| 日本不卡视频在线| 日韩中文字幕91| 亚洲香蕉久久| 综合国产视频| 欧美日韩在线精品一区二区三区激情综合 | 另类专区亚洲|