Rumah hujung hadapan web html tutorial 利用POI实现Word和 Html互转(可以实现在线预览)_html/css_WEB-ITnose

利用POI实现Word和 Html互转(可以实现在线预览)_html/css_WEB-ITnose

Jun 24, 2016 am 11:27 AM

利用POI将Word转换为Html,以便在浏览器上预览

package com.vito.demo.test;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.InputStream;import java.util.List;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.transform.OutputKeys;import javax.xml.transform.Transformer;import javax.xml.transform.TransformerFactory;import javax.xml.transform.dom.DOMSource;import javax.xml.transform.stream.StreamResult;import org.apache.commons.io.FileUtils;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.Picture;import org.apache.poi.hwpf.usermodel.PictureType;import org.w3c.dom.Document;public class PoiWordToHtml { public static void main(String[] args) throws Throwable {  final String path = "G:\\doc\\";  final String file = "客户需求文档.doc";  InputStream input = new FileInputStream(path + file);  HWPFDocument wordDocument = new HWPFDocument(input);  WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(    DocumentBuilderFactory.newInstance().newDocumentBuilder()      .newDocument());  wordToHtmlConverter.setPicturesManager(new PicturesManager() {   public String savePicture(byte[] content, PictureType pictureType,     String suggestedName, float widthInches, float heightInches) {    return suggestedName;   }  });  wordToHtmlConverter.processDocument(wordDocument);  List pics = wordDocument.getPicturesTable().getAllPictures();  if (pics != null) {   for (int i = 0; i < pics.size(); i++) {    Picture pic = (Picture) pics.get(i);    try {     pic.writeImageContent(new FileOutputStream(path       + pic.suggestFullFileName()));    } catch (FileNotFoundException e) {     e.printStackTrace();    }   }  }  Document htmlDocument = wordToHtmlConverter.getDocument();  ByteArrayOutputStream outStream = new ByteArrayOutputStream();  DOMSource domSource = new DOMSource(htmlDocument);  StreamResult streamResult = new StreamResult(outStream);  TransformerFactory tf = TransformerFactory.newInstance();  Transformer serializer = tf.newTransformer();  serializer.setOutputProperty(OutputKeys.ENCODING, "utf-8");  serializer.setOutputProperty(OutputKeys.INDENT, "yes");  serializer.setOutputProperty(OutputKeys.METHOD, "html");  serializer.transform(domSource, streamResult);  outStream.close();  String content = new String(outStream.toByteArray());  FileUtils.write(new File(path, "1.html"), content, "utf-8"); }}
Salin selepas log masuk

相关参考链接:

JSP实现word文档的上传,在线预览,下载

Java+FlexPaper+swfTools仿文库文档在线阅读

将Html文本写入到Word文件

 public void htmlToWord2() throws Exception {         InputStream bodyIs = new FileInputStream("f:\\1.html");         InputStream cssIs = new FileInputStream("f:\\1.css");         String body = this.getContent(bodyIs);         String css = this.getContent(cssIs);         //拼一个标准的HTML格式文档         String content = "<html><head><style>" + css + "</style></head><body>" + body + "</body></html>";         InputStream is = new ByteArrayInputStream(content.getBytes("GBK"));         OutputStream os = new FileOutputStream("f:\\1.doc");         this.inputStreamToWord(is, os);      }            /**       * 把is写入到对应的word输出流os中       * 不考虑异常的捕获,直接抛出       * @param is       * @param os       * @throws IOException       */      private void inputStreamToWord(InputStream is, OutputStream os) throws IOException {         POIFSFileSystem fs = new POIFSFileSystem();         //对应于org.apache.poi.hdf.extractor.WordDocument         fs.createDocument(is, "WordDocument");         fs.writeFilesystem(os);         os.close();         is.close();      }            /**       * 把输入流里面的内容以UTF-8编码当文本取出。       * 不考虑异常,直接抛出       * @param ises       * @return       * @throws IOException       */      private String getContent(InputStream... ises) throws IOException {         if (ises != null) {            StringBuilder result = new StringBuilder();            BufferedReader br;            String line;            for (InputStream is : ises) {               br = new BufferedReader(new InputStreamReader(is, "UTF-8"));               while ((line=br.readLine()) != null) {                   result.append(line);               }            }            return result.toString();         }         return null;      }
Salin selepas log masuk

 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Adakah HTML mudah belajar untuk pemula? Adakah HTML mudah belajar untuk pemula? Apr 07, 2025 am 12:11 AM

HTML sesuai untuk pemula kerana mudah dan mudah dipelajari dan dapat melihat hasilnya dengan cepat. 1) Keluk pembelajaran HTML adalah lancar dan mudah dimulakan. 2) Hanya menguasai tag asas untuk mula membuat laman web. 3) Fleksibiliti yang tinggi dan boleh digunakan dalam kombinasi dengan CSS dan JavaScript. 4) Sumber pembelajaran yang kaya dan alat moden menyokong proses pembelajaran.

Peranan HTML, CSS, dan JavaScript: Tanggungjawab Teras Peranan HTML, CSS, dan JavaScript: Tanggungjawab Teras Apr 08, 2025 pm 07:05 PM

HTML mentakrifkan struktur web, CSS bertanggungjawab untuk gaya dan susun atur, dan JavaScript memberikan interaksi dinamik. Ketiga melaksanakan tugas mereka dalam pembangunan web dan bersama -sama membina laman web yang berwarna -warni.

Apakah contoh tag permulaan dalam html? Apakah contoh tag permulaan dalam html? Apr 06, 2025 am 12:04 AM

Anexampleofastartartingtaginhtmlis, yangbeginsaparagraph.startingtagsareessentialinhtmlasttheyinitiateelements, definetheirtypes, andarecrucialforstructuringwebpagesandconstructionthedom.

Memahami HTML, CSS, dan JavaScript: Panduan Pemula Memahami HTML, CSS, dan JavaScript: Panduan Pemula Apr 12, 2025 am 12:02 AM

WebDevelopmentReliesOnhtml, CSS, andjavascript: 1) HtmlStructuresContent, 2) CSSStylesit, dan3) JavaScriptaddsInteractivity, Formingthebasisofmodernwebexperiences.

Bagaimana untuk melaksanakan susun atur penyesuaian kedudukan paksi y dalam anotasi web? Bagaimana untuk melaksanakan susun atur penyesuaian kedudukan paksi y dalam anotasi web? Apr 04, 2025 pm 11:30 PM

Algoritma Adaptif Kedudukan Y-Axis untuk Fungsi Anotasi Web Artikel ini akan meneroka cara melaksanakan fungsi anotasi yang serupa dengan dokumen perkataan, terutama bagaimana menangani selang antara anotasi ...

GITEE PAGES PENYEDIAAN LAMAN WEB STATIC Gagal: Bagaimana menyelesaikan masalah dan menyelesaikan kesilapan fail tunggal 404? GITEE PAGES PENYEDIAAN LAMAN WEB STATIC Gagal: Bagaimana menyelesaikan masalah dan menyelesaikan kesilapan fail tunggal 404? Apr 04, 2025 pm 11:54 PM

Giteepages Statik Laman Web Penggunaan Gagal: 404 Penyelesaian Masalah dan Resolusi Ralat Semasa Menggunakan Gitee ...

HTML, CSS, dan JavaScript: Alat penting untuk pemaju web HTML, CSS, dan JavaScript: Alat penting untuk pemaju web Apr 09, 2025 am 12:12 AM

HTML, CSS dan JavaScript adalah tiga tiang pembangunan web. 1. HTML mentakrifkan struktur laman web dan menggunakan tag seperti, dan sebagainya. 2. CSS mengawal gaya laman web, menggunakan pemilih dan atribut seperti warna, saiz font, dan lain-lain.

Bagaimana menggunakan CSS3 dan JavaScript untuk mencapai kesan penyebaran dan membesarkan gambar -gambar sekitarnya selepas mengklik? Bagaimana menggunakan CSS3 dan JavaScript untuk mencapai kesan penyebaran dan membesarkan gambar -gambar sekitarnya selepas mengklik? Apr 05, 2025 am 06:15 AM

Untuk mencapai kesan penyebaran dan membesarkan imej sekitarnya selepas mengklik pada imej, banyak reka bentuk web perlu mencapai kesan interaktif: klik pada imej tertentu untuk membuat sekitar ...

See all articles