2014-08-29 71 views
0

我試過了一個PDF頁面來圖像,但是隻是提取了PDF頁面中的每個圖像。而不是頁面圖像。如何獲取PDF頁面的圖像(包含文本)。不是PDF圖像中的圖像

下面的代碼:

public class ExtractionPDFtoThumbImgs { 

    static String filePath = "/Users/tmdtjq/Downloads/PDFTest/test.pdf"; 
    static String outputFilePath = "/Users/tmdtjq/Downloads/PDFTest/pageimages"; 

    public static void change(File inputFile, File outputFolder) throws IOException { 
     //TODO check the input file exists and is PDF 
     //TODO for the treatment of PDF encrypted 
     PDDocument doc = null; 
     try { 
      doc = PDDocument.load(inputFile); 
      List<PDPage> allPages = doc.getDocumentCatalog().getAllPages(); 
      for (int i = 0; i <allPages.size(); i++) { 
       PDPage page = allPages.get(i); 
       page.convertToImage(); 
       BufferedImage image = page.convertToImage(); 
       ImageIO.write(image, "jpg", new File(outputFolder.getAbsolutePath() + File.separator + (i + 1) + ".jpg")); 
      } 
     } finally { 
      if (doc != null) { 
       doc.close(); 
      } 
     } 
    } 

    public static void main(String[] args) { 
     File inputFile = new File(ExtractionPDFtoThumbImgs.filePath); 
     File outputFolder = new File(ExtractionPDFtoThumbImgs.outputFilePath); 
     if(!outputFolder.exists()){ 
      outputFolder.mkdirs(); 
     } 
     try { 
      ExtractionPDFtoThumbImgs.change(inputFile, outputFolder); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

以上PDF頁面代碼中提取圖像。不轉換PDF頁面中的圖像(包含文本)。

是否有轉換工具(PDF頁面圖像)或轉換PDFBox類?

請建議如何獲取PDF頁面(包含文本)的圖像。不要在PDF頁面中獲取圖像。

before converting

after converting

+0

請分享這樣的PDF。方法'convertToImage'應該沒問題,但它可能有缺陷。 – mkl 2014-08-29 15:30:47

+0

我不明白這個問題。 convertToImage()是要走的路。有時部分文本可能會丟失,這是type1字體的問題。這是在未發佈(但非常好)2.0版本中解決的。 – 2014-08-29 19:21:31

回答

0

嘗試pdftocairo,它是poppler的一部分。

我使用ImageMagick將PDF轉換爲圖像,而且它依賴於Ghostscript可有時是挑剔你餵養它,所以它被擊中或錯過了PDF ...

到目前爲止pdftocairo一直固體。

http://poppler.freedesktop.org