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

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

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

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

    雪山飛鵠

    溫馨提示:您的每一次轉載,體現了我寫此文的意義!!!煩請您在轉載時注明出處http://www.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 雪山飛鵠 閱讀(3380) 評論(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  回復  更多評論
      

    主站蜘蛛池模板: 羞羞漫画页面免费入口欢迎你| 国产成人亚洲合集青青草原精品| 亚洲youwu永久无码精品| 蜜桃视频在线观看免费视频网站WWW| 亚洲av无码一区二区三区在线播放| 1000部无遮挡拍拍拍免费视频观看 | 亚洲成AV人片在线观看ww| 一级毛片大全免费播放下载| 亚洲阿v天堂在线2017免费| 一级特黄录像视频免费| 亚洲一区二区视频在线观看| 一个人看的www免费在线视频| 久久亚洲精品无码播放| 亚洲 日韩 色 图网站| 成人在线免费观看| 精品久久久久久久久亚洲偷窥女厕| 国产乱子伦精品免费无码专区| 青青草97国产精品免费观看| 亚洲七七久久精品中文国产| 中国一级毛片视频免费看| 亚洲精品福利视频| 国产成在线观看免费视频| 亚洲AV无码专区国产乱码不卡| 免费国产在线观看不卡| 丁香花在线观看免费观看图片| 亚洲av中文无码乱人伦在线咪咕| 最近2019中文字幕免费大全5| 亚洲一卡2卡3卡4卡乱码 在线| 大胆亚洲人体视频| 精品免费视在线观看| 亚洲六月丁香六月婷婷蜜芽| 国产裸模视频免费区无码| 三级黄色片免费看| 亚洲丰满熟女一区二区v| 免费jjzz在在线播放国产| 国产三级在线免费| 亚洲日本中文字幕天天更新| 亚洲综合另类小说色区| 99re热免费精品视频观看 | 91频在线观看免费大全| 亚洲精品色在线网站|