Java 實現word 中寫入文字圖片的解決方案


用到的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 "";

   }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM