我需要將任何多頁PDF文件轉換爲一組JPG格式。使用iText或其他格式將PDF轉換爲多個JPG
由於PDF文件是假設來自掃描儀,我們可以假設每個頁面只包含一個圖形對象來提取,但我不能100%確定。
所以,我需要將來自每個頁面的任何可呈現內容轉換爲單個JPEG文件。
我該怎麼用iText來做到這一點?
如果我不能用iText來做這件事,那麼Java庫可以做到這一點?
謝謝。
我需要將任何多頁PDF文件轉換爲一組JPG格式。使用iText或其他格式將PDF轉換爲多個JPG
由於PDF文件是假設來自掃描儀,我們可以假設每個頁面只包含一個圖形對象來提取,但我不能100%確定。
所以,我需要將來自每個頁面的任何可呈現內容轉換爲單個JPEG文件。
我該怎麼用iText來做到這一點?
如果我不能用iText來做這件事,那麼Java庫可以做到這一點?
謝謝。
ICEpdf - http://www.icepdf.org/ - 有一個開源的入門版本,應該做你需要的。
我相信開源版本和付費版本之間的主要區別在於,支付方式有更好的字體支持。
似乎可行。至少主頁廣告這個功能。你知道JPEG渲染是否有快速入門,所以我們可以做出原始的概念證明,以便請求將該包正式導入到項目中? (我討厭burocracy但是「dura lex sed lex」) –
我回頭看了一下這個項目,但是我們走了一條不同的路,所以我沒有第一手的經驗。我建議註冊並下載他們的東西,看他們的網頁上列出的任何演示(渲染圖像)是否包括在內。 –
您還可以使用Sun公司的PDF格式,渲染和JPedal確實PDF圖像(低和高清晰度。
謝謝,但我只是嘗試IcePdf,它的工作;)+1無論如何 –
Ghostscript的(適用於Windows,Linux和MacOS X系統,Solaris和AIX,...)可以轉換。 ..
(ImageMagick提到上面並沒有做轉換自身 - 它使用Ghostscript的引擎蓋下,像許多其他工具)
iText在測試中使用Ghostscript和ImageMagick。 Ghostscript將PDF轉換成PNG文件,然後ImageMagick來比較PNG文件。查看iText源代碼中的CompareTool類以獲取更多信息。 –
與Apache PDFBox的,你可以做到以下幾點:
PDDocument document = PDDocument.load(pdffile);
List<PDPage> pages = document.getDocumentCatalog().getAllPages();
for (int i = 0; i < pages.size(); i++) {
PDPage page = pages.get(i);
BufferedImage image = page.convertToImage(BufferedImage.TYPE_INT_RGB, 72);
ImageIO.write(image, "jpg", new File(pdffile.getAbsolutePath() + "_" + i + ".jpg"));
}
這個術語是。一個PDF渲染器。是調用一個本地程序的一個選項?如果是的話,什麼平臺? –
不確定。但它必須在Windows(開發)和Linux(測試和生產) –