用到的jar包:
iText-2.1.5.jar
iText-rtf-2.1.4.jar
iTextAsian.jar
下載地址:http://files.cnblogs.com/files/jack1208-rose0203/Java%E5%AE%9E%E7%8E%B0word%E4%B8%AD%E5%86%99%E5%85%A5%E6%96%87%E5%AD%97%E5%9B%BE%E7%89%87%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E2%80%94%E2%80%94%E7%94%A8%E5%88%B0%E7%9A%84jar%E5%8C%85.zip
/**
* 創建word文檔 步驟:
* 1,建立文檔
* 2,創建一個書寫器
* 3,打開文檔
* 4,向文檔中寫入數據
* 5,關閉文檔
*/
/** * * @Description: 將網頁內容導出為word * @param @param file * @param @throws DocumentException * @param @throws IOException 設定文件 * @return void 返回類型 * @throws */ public static String exportDoc() throws DocumentException, IOException { // 設置紙張大小 Document document = new Document(PageSize.A4); // 建立一個書寫器(Writer)與document對象關聯,通過書寫器(Writer)可以將文檔寫入到磁盤中 // ByteArrayOutputStream baos = new ByteArrayOutputStream(); File file = new File("D://report.doc"); RtfWriter2.getInstance(document, new FileOutputStream(file)); document.open(); // 設置中文字體 BaseFont bfChinese = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED); // 標題字體風格 Font titleFont = new Font(bfChinese, 12, Font.BOLD); // // 正文字體風格 // Font contextFont = new Font(bfChinese, 10, Font.NORMAL); Paragraph title = new Paragraph("統計報告"); // // 設置標題格式對齊方式 title.setAlignment(Element.ALIGN_CENTER); // title.setFont(titleFont); document.add(title); String contextString = "iText是一個能夠快速產生PDF文件的java類庫。" + " \n"// 換行 + "iText的java類對於那些要產生包含文本," + "表格,圖形的只讀文檔是很有用的。它的類庫尤其與java Servlet有很好的給合。" + "使用iText與PDF能夠使你正確的控制Servlet的輸出。"; Paragraph context = new Paragraph(contextString); // 正文格式左對齊 context.setAlignment(Element.ALIGN_LEFT); // context.setFont(contextFont); // 離上一段落(標題)空的行數 context.setSpacingBefore(5); // 設置第一行空的列數 context.setFirstLineIndent(20); document.add(context); // // // 利用類FontFactory結合Font和Color可以設置各種各樣字體樣式 // // Paragraph underline = new Paragraph("下划線的實現", FontFactory.getFont( // FontFactory.HELVETICA_BOLDOBLIQUE, 18, Font.UNDERLINE, // new Color(0, 0, 255))); // // document.add(underline); // // // 添加圖片 Image.getInstance即可以放路徑又可以放二進制字節流 // Image img = Image.getInstance("D:\\eclipseWorkspace\\wordTest\\01055378_0.jpg"); img.setAbsolutePosition(0, 0); img.setAlignment(Image.LEFT);// 設置圖片顯示位置 // // img.scaleAbsolute(60, 60);// 直接設定顯示尺寸 // // // img.scalePercent(50);//表示顯示的大小為原尺寸的50% // // // img.scalePercent(25, 12);//圖像高寬的顯示比例 // // // img.setRotation(30);//圖像旋轉一定角度 // document.add(img); document.close(); // 得到輸入流 // wordFile = new ByteArrayInputStream(baos.toByteArray()); // baos.close(); return ""; }