<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://m.tkk7.com/sxyx2008/謝謝合作!!!

    雪山飛鵠

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://m.tkk7.com/sxyx2008/謝謝合作!!!

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks
            近期在項目中使用到了大量的報表開發,需要將html頁面中的表格內容導出到pdf word excel和圖片,前三者都比較好實現。唯獨后者生成圖片使用ImageIo操作時生成的圖片有點慘不忍睹。經過大量google后發現,pdfbox這個組件不錯,可以將pdf文件輕松生成圖片。這不問題解決了,但在使用過程中不然,受到了很多致命性的打擊。pdfbox在處理中文pdf的時候就會表現的比較脆弱點。但對英文版的pdf導出圖片,那是杠杠的。盡管這樣,還是記錄一下,畢竟這方面的資料很少。我幾乎搜遍了整個google,baidu才搜集到那么一點點資料。這里跟大家分享下。
            所依賴的JAR:
            commons-logging-1.1.1.jar
            fontbox-1.2.1.jar
            pdfbox-1.2.1.jar
            示例代碼:
    /*
     * Licensed to the Apache Software Foundation (ASF) under one or more
     * contributor license agreements.  See the NOTICE file distributed with
     * this work for additional information regarding copyright ownership.
     * The ASF licenses this file to You under the Apache License, Version 2.0
     * (the "License"); you may not use this file except in compliance with
     * the License.  You may obtain a copy of the License at
     *
     *      
    http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     
    */

    package com.future.pdfbox.image;

    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.List;

    import javax.imageio.IIOImage;
    import javax.imageio.ImageIO;
    import javax.imageio.ImageWriter;
    import javax.imageio.stream.ImageOutputStream;

    import org.apache.pdfbox.pdmodel.PDDocument;
    import org.apache.pdfbox.pdmodel.PDPage;

    public class ExtractImages 
    {
        
    public static void main(String[] args) throws IOException 
            PDDocument doc 
    = PDDocument.load("F:\\1.pdf");
            
    int pageCount = doc.getPageCount(); 
            System.out.println(pageCount); 
            List pages 
    = doc.getDocumentCatalog().getAllPages(); 
            
    for(int i=0;i<pages.size();i++){
                PDPage page 
    = (PDPage)pages.get(i); 
                BufferedImage image 
    = page.convertToImage(); 
                Iterator iter 
    = ImageIO.getImageWritersBySuffix("jpg"); 
                ImageWriter writer 
    = (ImageWriter)iter.next(); 
                File outFile 
    = new File("C:/"+i+".jpg"); 
                FileOutputStream out 
    = new FileOutputStream(outFile); 
                ImageOutputStream outImage 
    = ImageIO.createImageOutputStream(out); 
                writer.setOutput(outImage); 
                writer.write(
    new IIOImage(image,null,null)); 
            }

            doc.close(); 
            System.out.println(
    "over"); 
        }


    }


            
    posted on 2010-07-23 08:46 雪山飛鵠 閱讀(11369) 評論(7)  編輯  收藏 所屬分類: javase

    Feedback

    # re: 輕松使用apache pdfbox將pdf文件生成圖片 2010-07-23 09:25 fengzl
    html轉pdf word excel和圖片不是那么容易的吧  回復  更多評論
      

    # re: 輕松使用apache pdfbox將pdf文件生成圖片 2010-07-23 13:19 cxh8318
    對于中文的pdf支持是脆弱點嗎?我看壓根就不支持嘛  回復  更多評論
      

    # re: 輕松使用apache pdfbox將pdf文件生成圖片 2010-07-23 13:31 雪山飛鵠
    @cxh8318
    我說過了,對于中文pdf目前那是相當的脆弱,網上搜了,說是這是源代碼的bug,期待下一個版本能夠改進過來,但對英文版的pdf支持絕對完美,我在測試的時候將英文版的spring參考手冊全部順利生成了jpg圖片,雖然控制臺有警告但不礙事的。比一般的工具軟件強悍多了。  回復  更多評論
      

    # re: 輕松使用apache pdfbox將pdf文件生成圖片 2010-07-23 20:19 cxh8318
    恩,對英文pdf轉換確實很強  回復  更多評論
      

    # re: 輕松使用apache pdfbox將pdf文件生成圖片[未登錄] 2010-07-26 09:21 conjs
    我可以轉,HTML DOC,XLS,PPT,PDF,JPG 都可以轉  回復  更多評論
      

    # re: 輕松使用apache pdfbox將pdf文件生成圖片 2013-05-27 18:28 acmersch
    內存溢出是什么問題  回復  更多評論
      

    # re: 輕松使用apache pdfbox將pdf文件生成圖片[未登錄] 2014-07-24 17:21 h
    姓名,,轉出來變成 姓姓,其他也是這樣。。重復第一個字  回復  更多評論
      

    主站蜘蛛池模板: 亚洲久本草在线中文字幕| 国产免费av片在线无码免费看| 国产成人精品久久亚洲高清不卡 | 亚洲欧美黑人猛交群| 在线观看免费为成年视频| 四虎亚洲精品高清在线观看| 国产香蕉九九久久精品免费| 色老板亚洲视频免在线观| 无码永久免费AV网站| 亚洲电影一区二区| 亚洲精品97久久中文字幕无码| 亚洲国产精品无码中文lv| 永久免费毛片手机版在线看| 亚洲精品人成网线在线播放va| 午夜神器成在线人成在线人免费| 亚洲另类古典武侠| 国产四虎免费精品视频| 中文字幕亚洲综合久久综合 | 免费无码一区二区| 亚洲国产精品一区二区三区久久| 久久WWW免费人成—看片| 亚洲国产婷婷六月丁香| 91精品全国免费观看含羞草 | 亚洲第一黄片大全| 久久久久国色AV免费观看| 亚洲国产精品一区| 永久免费的网站在线观看| 国产成人亚洲毛片| 亚洲AV中文无码乱人伦下载 | 亚洲人成在线播放网站岛国| 暖暖免费高清日本一区二区三区 | 亚洲精品尤物yw在线影院| 一级做a爰性色毛片免费| 亚洲AV永久精品爱情岛论坛| 人成午夜免费视频在线观看| 国产精品亚洲一区二区三区久久| 国产精品亚洲二区在线观看| 足恋玩丝袜脚视频免费网站| 精品无码专区亚洲| 亚洲男人的天堂在线播放| 日日夜夜精品免费视频|