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

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

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

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

引言:

最近公司在做一個教育培訓(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文本文件進(jìn)行轉(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('&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)容出錯'); e.printStackTrace(); } }

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

標(biāo)簽: word
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲啊v在线免费视频| 免播放器亚洲一区| 日本91福利区| 欧美日韩调教| 麻豆一区在线| 肉色欧美久久久久久久免费看| 日韩精品1区| 日本午夜大片a在线观看| 日韩高清不卡| 三级一区在线视频先锋| 日韩中文字幕一区二区高清99| 69堂精品视频在线播放| 欧美韩一区二区| 亚洲精品一区三区三区在线观看| 婷婷激情久久| 日韩精品欧美精品| 国产不卡精品在线| 香蕉精品久久| 亚洲v天堂v手机在线| 国产精品va| 国产一区二区中文| 91精品尤物| 福利片在线一区二区| 亚洲国产专区| 欧美亚洲网站| 99久久99视频只有精品| 美美哒免费高清在线观看视频一区二区 | 久久国产日韩欧美精品| 激情久久一区二区| 国产婷婷精品| 久久精品毛片| 免费视频最近日韩| 国产一区二区三区四区| 夜久久久久久| 国产精品黄网站| 日本综合字幕| 日韩久久99| 欧洲亚洲一区二区三区| 日本大胆欧美人术艺术动态| 久久爱www成人| 99久久婷婷这里只有精品| 日韩在线成人| 中文字幕系列一区| 久久精品99国产精品日本| 日韩免费看片| 日韩国产一区二| 999视频精品| 国产精品巨作av| 久久性天堂网| 日韩深夜视频| 日韩一区二区三区免费视频| 国产精品精品| 欧美日韩亚洲三区| 国产精品人人爽人人做我的可爱| 国产精品qvod| 日韩专区欧美专区| 久久久成人网| 久久免费福利| 日本一不卡视频| 久久伦理在线| 国产aa精品| 国产精品久久久久久久久久妞妞| 老牛影视一区二区三区| 91精品xxx在线观看| 国产三级一区| 久久成人一区| 欧美成人综合| 日韩国产一区| 精品国产一区二区三区av片| 欧美久久久网站| 午夜宅男久久久| 国产主播一区| 色88888久久久久久影院| 美女性感视频久久| 欧美亚洲tv| 亚欧洲精品视频在线观看| 日韩视频久久| 欧美1区2区3区| 久久国产亚洲精品| 人在线成免费视频| 精品一区91| 麻豆高清免费国产一区| 国产精品主播| 国产调教一区二区三区| 日韩国产一区二| 奇米777国产一区国产二区| 日本大胆欧美人术艺术动态| 亚洲中午字幕| 激情五月综合| 欧美日韩色图| 亚洲免费观看| 午夜宅男久久久| 蜜桃视频一区二区三区在线观看| 免费在线视频一区| 免费国产亚洲视频| 亚洲欧洲一区| 蜜臀久久久久久久| 亚洲精品精选| 国产美女视频一区二区| 国产欧美一区二区色老头| 久久国产麻豆精品| 国产精品亚洲欧美一级在线| 国产精品调教| 久久只有精品| 日韩欧美二区| 一本一本久久| 亚欧洲精品视频在线观看| 国产亚洲一区二区三区啪| 国产精品伊人| 国产成人免费av一区二区午夜| 久久永久免费| 婷婷综合六月| 99国产精品久久久久久久成人热| 国产免费成人| 日韩精品一区二区三区中文在线 | 国产综合欧美| 免费看精品久久片| 亚洲欧洲美洲国产香蕉| 国产精品亚洲综合久久| 视频在线不卡免费观看| 亚洲午夜91| 五月激激激综合网色播| 国产精品嫩模av在线| 国产一区二区三区免费在线| 99视频精品视频高清免费| 亚洲永久精品唐人导航网址| 亚洲欧美久久精品| 精品国产一区二区三区噜噜噜| 久久精品青草| 视频一区欧美日韩| 国产精品毛片aⅴ一区二区三区| 欧美片第1页| 模特精品在线| 麻豆国产精品| 狠狠色综合网| 国产精品jk白丝蜜臀av小说| 欧美亚洲日本精品| 亚洲精品日本| 老色鬼精品视频在线观看播放| 啪啪国产精品| 日本中文字幕不卡| 在线手机中文字幕| 在线视频亚洲欧美中文| 精品国产一区二区三区2021| 在线视频日韩| 精品三级久久久| 亚洲欧美日韩国产综合精品二区| 国产精品主播在线观看| 99久久九九| 97se亚洲| 欧美国产91| 国产激情精品一区二区三区| 午夜影院欧美| 久久福利在线| 在线日韩成人| 亚洲天堂一区二区| 久久国产免费看| 天堂网在线观看国产精品| 国产精品久久免费视频| 伊人精品视频| 国产精品不卡| 亚洲91在线| 精品丝袜在线| 国产精品一区二区中文字幕| 9久re热视频在线精品| 成人国产精品一区二区免费麻豆| 日韩一区精品字幕| 99视频精品全国免费| 91成人小视频| 午夜在线精品偷拍| 91精品一区国产高清在线gif| 开心激情综合| 视频一区中文字幕精品| 日韩视频二区| 日本久久成人网| 精品免费在线| 国产日韩精品视频一区二区三区| 美女尤物久久精品| 99久久精品费精品国产| 精品午夜视频| 国产美女久久| 日本麻豆一区二区三区视频| 久久最新视频| 99久久婷婷| 亚洲四虎影院| 国产精品久久久久久久久妇女| 欧美国产亚洲精品| 日韩欧美激情| 免费在线观看不卡| 好看的av在线不卡观看| 成人羞羞视频播放网站| 日韩av有码| 久久久久黄色| 麻豆免费精品视频| 国产一卡不卡| 国产精品一区二区三区美女 | 涩涩涩久久久成人精品| 国产午夜久久| 日韩精品一二三区| 日韩精品一卡二卡三卡四卡无卡|