2016-09-28 66 views
-3

如何PDF文件轉換爲圖像(JPG JPEG ..)格式,以及如何裁剪圖像爲好。任何指針(任何現有的API可能)?如何在圖像改變PDF文件(JPEG,JPG格式)格式和作物

import java.io.File; 


public class PDFtoJPGConverter { 

      public static void main(String[] args) 

       { 

      try 
       { 
       PDFDocument doc = new PDFDocument();   
       doc.loadPDF("Sample.pdf"); 
       int pageCount = doc.getPageCount(); 
      for(int i = 0; i < pageCount; i++) 
       { 
       BufferedImage image = doc.toImage(i); 
       ImageIO.write(image,"jpg", new File("output"+ i +".jpg")); 
       } 
       } 
       catch (Exception e) { 
       e.printStackTrace(); 
     } 
     } 
     } 

回答

0

您可以試試pdf-renderer這是一個純java解決方案。

代碼解決方案:

package com.pdf.pdfbox.examples; 
import java.awt.image.BufferedImage; 
import java.io.File; 
import java.util.List; 
import javax.imageio.ImageIO; 
import org.apache.pdfbox.pdmodel.PDDocument; 
import org.apache.pdfbox.pdmodel.PDPage; 

@SuppressWarnings("unchecked") 
public class ConvertPDFPagesToImages { 
public static void main(String[] args) { 
    try { 
    String sourceDir = "C:/Documents/04-Request-Headers.pdf"; // Pdf files are read from this folder 
    String destinationDir = "C:/Documents/Converted_PdfFiles_to_Image/"; // converted images from pdf document are saved here 

    File sourceFile = new File(sourceDir); 
    File destinationFile = new File(destinationDir); 
    if (!destinationFile.exists()) { 
     destinationFile.mkdir(); 
     System.out.println("Folder Created -> "+ destinationFile.getAbsolutePath()); 
    } 
    if (sourceFile.exists()) { 
     System.out.println("Images copied to Folder: "+ destinationFile.getName());    
     PDDocument document = PDDocument.load(sourceDir); 
     List<PDPage> list = document.getDocumentCatalog().getAllPages(); 
     System.out.println("Total files to be converted -> "+ list.size()); 

     String fileName = sourceFile.getName().replace(".pdf", "");    
     int pageNumber = 1; 
     for (PDPage page : list) { 
      BufferedImage image = page.convertToImage(); 
      File outputfile = new File(destinationDir + fileName +"_"+ pageNumber +".png"); 
      System.out.println("Image Created -> "+ outputfile.getName()); 
      ImageIO.write(image, "png", outputfile); 
      pageNumber++; 
     } 
     document.close(); 
     System.out.println("Converted Images are saved at -> "+ destinationFile.getAbsolutePath()); 
    } else { 
     System.err.println(sourceFile.getName() +" File not exists"); 
    } 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    } 
} 
+0

你瞭解碧玉報告,在這種情況下碧玉報告是好還是不好, 和 的PDF渲染器轉換PDF文件到圖像文件? –

+0

@RavinderSingh我編輯回答惠特代碼解決方案。嘗試一下。 – momomorez