<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
    package effective.java;

    import java.awt.Image;
    import java.awt.Rectangle;
    import java.awt.image.BufferedImage;

    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.RandomAccessFile;
    import java.nio.ByteBuffer;
    import java.nio.channels.FileChannel;
    import javax.swing.SwingUtilities;
    import com.sun.image.codec.jpeg.JPEGCodec;
    import com.sun.image.codec.jpeg.JPEGEncodeParam;
    import com.sun.image.codec.jpeg.JPEGImageEncoder;
    import com.sun.pdfview.PDFFile;
    import com.sun.pdfview.PDFPage;

    public class PdfToJpgTest {
        
    public static void setup() throws IOException {

            
    // load a pdf from a byte buffer
            File file = new File("D:\\workspace\\word2pdf\\src\\tests.doc.pdf");
            RandomAccessFile raf 
    = new RandomAccessFile(file, "r");
            FileChannel channel 
    = raf.getChannel();
            ByteBuffer buf 
    = channel.map(FileChannel.MapMode.READ_ONLY, 0, channel
                    .size());
            PDFFile pdffile 
    = new PDFFile(buf);

            System.out.println(
    "頁數: " + pdffile.getNumPages());

            String getPdfFilePath 
    = System.getProperty("user.dir"+ "\\pdfPicFile";

            System.out.println(
    "getPdfFilePath is  :" + getPdfFilePath);

            
    for (int i = 1; i <= pdffile.getNumPages(); i++) {
                
    // draw the first page to an image
                PDFPage page = pdffile.getPage(i);

                
    // get the width and height for the doc at the default zoom
                Rectangle rect = new Rectangle(00, (int) page.getBBox()
                        .getWidth(), (
    int) page.getBBox().getHeight());

                
    // generate the image
                Image img = page.getImage(rect.width, rect.height, // width &
                        
    // height
                        rect, // clip rect
                        null// null for the ImageObserver
                        true// fill background with white
                        true // block until drawing is done
                        );

                BufferedImage tag 
    = new BufferedImage(rect.width, rect.height,
                        BufferedImage.TYPE_INT_RGB);
                tag.getGraphics().drawImage(img, 
    00, rect.width, rect.height,
                        
    null);

                
    // 輸出到文件流
                FileOutputStream out = new FileOutputStream(getPdfFilePath + "\\"
                        
    + i + ".jpg");
                System.out.println(
    "成功保存圖片到:" + getPdfFilePath + "\\" + i + ".jpg");

                
    /*
                 * JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
                 * encoder.encode(tag); // JPEG編碼 out.close();
                 
    */

                JPEGImageEncoder encoder 
    = JPEGCodec.createJPEGEncoder(out);
                JPEGEncodeParam param2 
    = encoder.getDefaultJPEGEncodeParam(tag);
                param2.setQuality(1f, 
    false);// 1f是提高生成的圖片質量
                encoder.setJPEGEncodeParam(param2);
                encoder.encode(tag); 
    // JPEG編碼
                out.close();

            }

            
    // show the image in a frame
            
    // JFrame frame = new JFrame("PDF Test");
            
    // frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            
    // frame.add(new JLabel(new ImageIcon(img)));
            
    // frame.pack();
            
    // frame.setVisible(true);
        }

        
    public static void main(final String[] args) {
            SwingUtilities.invokeLater(
    new Runnable() {
                
    public void run() {
                    
    try {
                        PdfToJpgTest.setup();
                    } 
    catch (IOException ex) {
                        ex.printStackTrace();
                    }
                }
            });
        }

    }
    依賴的jar包
    PDFRenderer.jar
    posted on 2011-06-17 11:34 雪山飛鵠 閱讀(3378) 評論(2)  編輯  收藏 所屬分類: javase

    Feedback

    # re: java轉換pdf to jpg 2011-10-19 11:54 web
    sun.awt.image.ImageFormatException: Unsupported color conversion request
    at sun.awt.image.JPEGImageDecoder.readImage(Native Method)
    at sun.awt.image.JPEGImageDecoder.produceImage(JPEGImageDecoder.java:119)
    at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:246)
    at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
    at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)  回復  更多評論
      

    # re: java轉換pdf to jpg[未登錄] 2016-07-12 12:30 1
    111  回復  更多評論
      

    主站蜘蛛池模板: 午夜寂寞在线一级观看免费| 久久99免费视频| 成人免费毛片内射美女APP| 亚洲AV成人片色在线观看高潮| 精品多毛少妇人妻AV免费久久| 国产免费69成人精品视频| 国内成人精品亚洲日本语音 | jizzjizz亚洲| 三级片免费观看久久| 国产午夜亚洲精品国产成人小说| 巨胸狂喷奶水视频www网站免费| 亚洲小说区图片区另类春色| 一个人免费视频在线观看www| 亚洲国产精品久久66| 国产精品成人免费福利| 中文字幕亚洲综合久久综合 | 久久久久亚洲AV无码专区网站| 成人精品视频99在线观看免费| 亚洲成在人线av| 1000部拍拍拍18免费网站| 亚洲乱色熟女一区二区三区蜜臀| 国产午夜影视大全免费观看| 美女网站在线观看视频免费的| 亚洲五月六月丁香激情| 最近中文字幕mv免费高清电影 | 亚洲一本一道一区二区三区| 四虎影库久免费视频| 国产免费一区二区视频| 99999久久久久久亚洲| 免费一级特黄特色大片在线| 十八禁在线观看视频播放免费| 亚洲中文无码a∨在线观看| 可以免费观看一级毛片黄a| baoyu122.永久免费视频| 亚洲综合校园春色| 亚洲国产精品成人久久蜜臀| 在线免费观看亚洲| 免费国产va视频永久在线观看| 亚洲AV无码国产精品麻豆天美| 在线观看人成视频免费| 华人在线精品免费观看|