2010-11-30 8 views
6

Büyük (> 300MB) bir PDF dosyasından görüntülerin nasıl çıkarılacağı üzerine araştırma yapıyorum. Ben pdfbox kullanıyorum ama anlayamadığım belirli bir nedenle, bazı sayfalar doğru şekilde ayıklanmıyor.Java kullanarak pdf'den görüntüler nasıl elde edilir (pdfbox kullanılmadan)

Kodumun tabanı olarak pdfbox'ın PDFToImage sınıfını kullanıyorum.

Bunun için bana yardımcı olabilecek başka bir kitaplık biliyor musunuz? IText'in kullanılabileceğini biliyorum, ancak bunun ticari ürünler için kullanılamayacağını okudum.

xpdf ve xpdf-utils paketlerini kurdum ve pdfimages adlı yardımcı program mükemmel çalışıyor. Ama bu problemi Java'dan çözmem gerekiyor ve taşınabilir olmalı.

+0

xpdf-utils'i Java'ya bağlayabilirsiniz. Bir ticari lisans satın almadığınız sürece, – erjiang

+1

iText GPL altındadır. –

+0

<5 sürümleriyle çalışacağım, lisans koşullarındaki değişikliklerin> 5 sürümleri için değiştirildiğini düşünüyorum. –

cevap

5

Burada iki farklı şeyden bahsediyorsunuz: görüntüleri bir PDF'den ayıklamak ve PDF sayfalarını görüntülere dönüştürmek. Pdfimages tüm gömülü görüntüleri ayıklarken (örneğin bir metin belgesinde 0 resim var), PDFToImage her sayfa için bir görüntü verecektir.

İstediğinizi yapıp yapmadığını görmek için org.apache.pdfbox.ExtractImages'a bakın.

+0

Evet, haklısınız, tüm gömülü görüntüleri ayıklamamak için PDF sayfasını bir görüntüye dönüştürmeye çalışıyorum. Sorun şu ki bu özel durumda kullandığım PDF sayfa başına bir görüntü var. Yanlış anlaşılma için üzgünüm. Ayrıca ExtractImages'yi şanssız olarak kontrol ediyorum. –

+0

Sonunda pdfbox kullandım, pdfbox, tanınmamış fontlara veya CMYK renk uzaylarına sahip görüntülere doğru PDF'leri çıkarmayacak. Bu sorunları olmayan PDF'ler için kütüphane iyi çalışıyor. –

0

300 Mb PDF'lerle çalışmanın neden zor olmasının en büyük nedeni bellek yetersizliğinizdir. Daha küçük PDF'ler için iyi çalışırsa, neden başarısız olduğuna daha yakından bakarım.

0

icepdf veya JPedal (her ikisi de saf java) denediniz mi?

+0

Nop, Ben yapmadım. Ticari bir üründe bulunanlardan herhangi birini kullanabilir miyim? –

+0

Her ikisinin de LGPL ve ticari versiyonları var. Ticari bir üründe kullanabilirsiniz. –

+0

Icepdf'yi test ettim, sayfalar iyi çıkıyor, ancak şu anda yazı tipleriyle ilgili problemler yaşıyorum :(. Bunu bir rehber olarak kullanıyorum: http://wiki.icefaces.org/display/PDF/Converting+ PDF + Sayfa + Renderler –