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

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

Java實(shí)現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的示例

瀏覽:221日期:2022-05-25 16:18:01

引言:

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

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

一:Java實(shí)現(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/';//解析時(shí)候如果doc文件中有圖片 圖片會(huì)保存在此路徑 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對(duì)象 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'); } } } /** *功能說明:生成時(shí)間戳 *創(chuàng)建人:zsq *創(chuàng)建時(shí)間: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實(shí)現(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保密知識(shí)測試題庫.html'; //try() 寫在()里面會(huì)自動(dòng)關(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實(shí)現(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('&nbsp&nbsp&nbsp'+lineTxt + '</br>'); } bw.close(); osw.close(); fos.close(); read.close(); } else { System.out.println('找不到指定的文件'); } } catch (Exception e) { System.out.println('讀取文件內(nèi)容出錯(cuò)'); e.printStackTrace(); } }

以上就是Java實(shí)現(xiàn)Word/Pdf/TXT轉(zhuǎn)html的示例的詳細(xì)內(nèi)容,更多關(guān)于Java Word/Pdf/TXT轉(zhuǎn)html的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: word
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产三级一区| 好吊视频一区二区三区四区| 日韩伦理福利| 欧洲精品一区二区三区| 波多视频一区| 韩日一区二区三区| 亚洲经典在线| 日韩不卡在线观看日韩不卡视频| 久久狠狠亚洲综合| 成人在线观看免费视频| 天堂√中文最新版在线| 欧美精品一区二区三区精品| 最新国产精品视频| 国产美女久久| 久久青草久久| 视频一区二区三区在线| 国产精品三p一区二区| 精品亚洲免a| 欧美在线网站| 国产精品一区二区美女视频免费看| 精品三级在线| 午夜在线观看免费一区| 国产精品红桃| 欧美va亚洲va日韩∨a综合色| 综合欧美亚洲| 在线天堂资源www在线污| 久久午夜精品| 成人精品视频| 日韩精品成人在线观看| 99久久精品国产亚洲精品| 日韩av不卡一区二区| 国产精品av一区二区| 日本不卡高清| 91精品福利| 国产精品久久久久久久久久10秀| 综合色就爱涩涩涩综合婷婷| 少妇久久久久| 国产激情精品一区二区三区| 在线亚洲自拍| 99精品小视频| 久久电影tv| 成人污污视频| 麻豆精品视频在线观看免费| 国产亚洲毛片| 日韩中文在线播放| 精品99在线| 久久爱www.| 亚洲欧洲日本mm| 久久三级福利| 亚洲va在线| 婷婷综合六月| 欧美gv在线| 欧美三级网址| 欧美日一区二区| 欧美日韩精品免费观看视欧美高清免费大片| 国产日产精品_国产精品毛片| 亚洲精品美女91| 亚洲精品乱码| 日韩国产一二三区| 日本亚洲欧洲无免费码在线| 亚洲欧美久久| 亚欧成人精品| 亚洲精品系列| 日韩一区二区三区精品| 日韩极品在线观看| 国产精品亲子伦av一区二区三区| 欧美一级一区| 麻豆极品一区二区三区| 久久精品国产成人一区二区三区| 国产一区二区三区亚洲| 国产在线看片免费视频在线观看| 国产乱码午夜在线视频| 欧美日韩中文字幕一区二区三区| 午夜国产欧美理论在线播放| 在线免费观看亚洲| 国产精品久久| 国产麻豆久久| 91久久亚洲| 欧美日韩夜夜| 亚洲三级欧美| 成人羞羞视频播放网站| 久久国产精品久久w女人spa| 亚洲精品婷婷| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 国内精品美女在线观看| 国产高潮在线| 亚洲日产国产精品| 国产精品激情| 亚洲精品午夜av福利久久蜜桃| 亚洲va久久久噜噜噜久久| 97精品国产| 少妇高潮一区二区三区99| 国内一区二区三区| 亚洲丝袜啪啪| 日韩久久视频| 国产探花在线精品一区二区| 欧美日韩一区二区三区视频播放| 日韩精品视频一区二区三区| 亚洲成人av观看| 麻豆一区二区在线| 热久久国产精品| 久久裸体视频| 国产伦久视频在线观看| 美女精品在线观看| 亚洲婷婷在线| 午夜av不卡| 精品中文字幕一区二区三区| 亚久久调教视频| 中文日韩在线| 亚洲二区在线| 久久蜜桃资源一区二区老牛| 麻豆精品蜜桃视频网站| 国产日韩欧美中文在线| 亚洲精品黄色| 亚洲色图网站| 91九色精品国产一区二区| 色在线中文字幕| 日韩国产专区| 日本中文字幕一区二区| 男女性色大片免费观看一区二区| 欧美日韩一二| 亚洲激情另类| 日韩在线一区二区| 亚洲一区成人| 日韩在线观看一区二区| 丝袜美腿高跟呻吟高潮一区| 婷婷亚洲五月色综合| 91久久中文| 在线观看视频免费一区二区三区| 巨乳诱惑日韩免费av| 丝瓜av网站精品一区二区| 免费不卡在线观看| 亚洲精品欧洲| 香蕉久久一区| 国产精品美女在线观看直播| 国产欧美亚洲精品a| 美腿丝袜亚洲三区| 欧洲亚洲一区二区三区| 国产高清久久| 欧美天堂一区| 精品黄色一级片| 在线观看精品| 亚州欧美在线| 福利一区二区三区视频在线观看| 亚洲欧洲高清| 亚洲精品乱码| 福利精品在线| 久久先锋影音| 日韩高清一区二区| 黄色aa久久| 亚洲日本欧美| 群体交乱之放荡娇妻一区二区| 鲁大师成人一区二区三区| 国产欧美日韩一区二区三区在线| 高清久久精品| 亚洲1区在线| 999精品在线| 欧美精品国产白浆久久久久| 亚洲天堂一区二区| 日韩av不卡一区二区| 色吊丝一区二区| 国产欧美日本| 女同性一区二区三区人了人一 | 日韩亚洲精品在线观看| 美女av在线免费看| 日韩精品中文字幕一区二区| 日韩亚洲一区在线| 日韩av中文字幕一区二区三区| 欧美日韩尤物久久| 国产精品va| 亚洲2区在线| 国产亚洲在线观看| 成人欧美一区二区三区的电影| 日韩三级一区| 久久大逼视频| 国产精品毛片久久| 国产亚洲精品美女久久| 午夜亚洲精品| 久久国产高清| 日韩影院免费视频| 一区二区视频欧美| 欧美精品高清| 国产一区国产二区国产三区| 国产欧美二区| 国产精品任我爽爆在线播放| 日韩亚洲精品在线观看| 亚洲人成网77777色在线播放| 欧美日韩精品一本二本三本| 成人日韩在线| 久久精品成人| 中文字幕在线免费观看视频| 精品国产乱码久久久| 精品99在线| 欧洲在线一区| 国产高清一区| 亚洲精选91| 国产日韩三级| www.com.cn成人| 欧美/亚洲一区| 亚洲一区二区网站|