Resim Kredisi: Pixland/Pixland/Getty Images
Java'da hazır bulunan kitaplıkları kullanarak PDF dosyalarını okumak zor değildir. PDF dosyalarını okumak, bu dosyalardaki metni işleyebilen Java programları yazmanıza olanak tanır. PDF dosyalarını okumak için bir seçenek, Apache'de bulunan ücretsiz, açık kaynaklı PDFBox kitaplığıdır. Eclipse Java geliştirme platformu bu işi kolaylaştırır ve indireceğiniz kitaplıkları yönetir. Bu Java kitaplıklarından yararlanmak için Java programlamaya aşina olmanız gerekir.
Gerekli Kütüphaneleri Toplayın
Aşama 1
Java JDK'yı Sun'ın web sitesinden indirin. Bu, çalıştırarak sisteminize yükleyebileceğiniz yürütülebilir bir dosyadır. Sürümler Windows, Mac ve Linux için mevcuttur. Kırmızı "İndir" düğmesine tıklayın. İstendiğinde "jdk-6uxx-windows-xxx.exe" adlı bir dosyayı kaydedin. Bu dosyayı kaydedin ve ardından Java yükleyicisini başlatmak için üzerine çift tıklayın.
Günün Videosu
Adım 2
Eclipse geliştirme sistemini indirin ve üst düzey bir dizine açın. "Java Geliştiricileri için Eclipse IDE"yi seçin. Bu, "eclipse-java-galileo-SR2-win32.zip" dosyasının indirilmesini başlatacaktır. İndirme tamamlandıktan sonra sıkıştırmayı açmak için dosyaya çift tıklayın. Eclipse'i açmak için "C:" kök dizin konumunu seçin.
Aşama 3
Eclipse zip dosyasını açarak oluşturduğunuz dizindeki "eclipse.exe" üzerine çift tıklayarak Eclipse'i başlatın. Eclipse sisteminde "PrintPdf" adlı bir proje oluşturun. "Dosya"yı, ardından "Yeni"yi ve ardından "Java projesi"ni seçin. Görünen iletişim kutusuna proje adını "PrintPdf" yazın. "Kaynak ve sınıf dosyaları için ayrı klasörler oluştur" yazan radyo düğmesinin seçili olduğundan emin olun. "Bitir" i tıklayın.
4. Adım
"PrintPdf" projenizde bir "lib" klasörü oluşturun. "PrintPdf" projesine sağ tıklayın ve "Yeni"yi ve ardından "Klasör"ü seçin. "lib" adını girin ve "Bitir" e tıklayın.
Adım 5
Apache sitesinden Apache "PDFBox.jar" dosyasını indirin ve az önce oluşturduğunuz lib dizinine kopyalayın. Aynı web sayfasında, "fontbox-nn.jar" dosyasını ve "jempbox-nn.jar" dosyasını indirin. Her durumda, o jar dosyasına tıkladığınızda, sizi bu dosyayı sağlayabilecek birkaç sunucudan birini seçebileceğiniz bir sayfaya götürecektir. Her birini seçin ve her jar dosyası indirilecektir. Her jar dosyasını yeni oluşturduğunuz lib dizinine kopyalayın.
6. Adım
Apache log4j.jar paketini de aynı şekilde indirin ve log4j.jar dosyasını dizine kopyalayın. Apache PDFBox kitaplığı bu Apache günlük kitaplığını kullanır, dolayısıyla bu dosyanın mevcut olması gerekir.
7. Adım
Apache Commons Discovery paketini bir zip dosyası olarak indirin. Zip dosyasına çift tıklayın, "commons-discovery-nn.jar" dosyasını seçin ve onu lib dizinine çıkartın.
Adım 8
Eclipse'de "lib" dizinine tıklayın ve "F5" tuşuna basın. Eklediğiniz tüm jar dosyalarının görüntülendiğinden emin olun.
9. Adım
PrintPDF projesine sağ tıklayın ve "Özellikler"i seçin. "Java Yapı Yolu"nu seçin ve "Kütüphaneler" sekmesini seçin. "Kavanoz ekle"ye tıklayın ve az önce oluşturduğunuz lib dizinine gidin ve "commons-logging-nn.jar" "fontbox-nn.jar", "jempbox-nn.jar", "log4j-nn.jar" ekleyin. ," ve "pdfbox-nn.jar." "Tamam" ı tıklayın.
PDF'leri Okumak İçin Kodu Yazın
Aşama 1
"PrintPDF" projenizin "src" klasörüne sağ tıklayın ve "Yeni" ve "Paket"i seçin. Herhangi bir anlamlı ad kullanarak bir paket oluşturun. Örneğin, paketi "com.pdf.util" olarak adlandırın. "Bitir" i tıklayın.
Adım 2
Yeni oluşturduğunuz paket adına sağ tıklayın ve "Yeni" ve ardından "Sınıf" ı seçin. adlı bir sınıf oluşturun "PDFTextParser." "public static void main..." işaretli onay kutusunu tıkladığınızdan emin olun, böylece sistem bir "ana" yöntem.
Aşama 3
Aşağıdaki kodu içerecek şekilde "PDFTextParser" sınıfındaki "main" yöntemini düzenleyin:
public static void main (String args[]){ PDFTextParser pdf = new PDFTextParser("data/javaPDF.pdf") GO // sonuçları yazdır System.out.println (pdf.getParsedText()) GO }
Yazdırmak istediğiniz dosyanın yapıcıda PDFTextParser ("data/JavaPDF.pdf") şeklinde yazıldığını unutmayın. Kolayca bir komut satırı argümanı olabilir:
PDFTextParser pdf = yeni PDFTextParser (argv[0])
GİT
veya bir GUI arayüzünden seçilmiştir.
PDFTextParser sınıfının bir örneğini oluşturur ve ardından "getParsedText" yöntemini çağırır.
4. Adım
Aşağıdaki kodu, sizin için oluşturulmuş en üst sınıf "public class PDFTextParser" satırının hemen altına ekleyin.
özel PDFParser ayrıştırıcı = boş GO
// PDF Belgesinden metin ayıklayın. public PDFTextParser (String fileName) { File file = new File (fileName)
GO if (!file.isFile()) { System.err.println("Dosya " + dosyaAdı + " yok.") GO } //PDF ayrıştırıcı denemesini ayarla { ayrıştırıcı = yeni PDFParser (yeni FileInputStream (dosya)) GO } catch (IOException e) { System.err.println("PDF açılamıyor Ayrıştırıcı. " + e.getMessage()) GO } } // public String getParsedText() { PDDocument pdDoc = null GO COSDocument cosDoc = null;
String parsedText = null; GİT
deneyin { PDFTextStripper pdfStripper = yeni PDFTextStripper()
GO parser.parse() GO cosDoc = parser.getDocument() GO pdDoc = yeni PDDocument (cosDoc) GO
//tüm sayfaların listesini al List< PDPage> list = pdDoc.getDocumentCatalog().getAllPages()
GİT
//başlangıç ve bitiş sayfasının farklı değerlerini seçerek istediğiniz sayfaları yazdırabileceğinizi unutmayın pdfStripper.setStartPage (1); //-tabanlı int uzunluk = list.size(); //toplam sayfa sayısı pdfStripper.setEndPage (uzunluk); //son sayfa //seçilen sayfaların metnini al parsedText = pdfStripper.getText (pdDoc)
GO } catch (IOException e) { System.err .println("PDF Belgesini ayrıştırırken bir istisna oluştu." + e.getMessage()) GO } nihayet { try { if (cosDoc != null) cosDoc.close() GO if (pdDoc != null) pdDoc.close() GO } yakalama (IOException e) { e.printStackTrace() GO } }
parsedText GO döndür }
Adım 5
Programı çalıştır. PDFTextParser sınıfına sağ tıklayın ve "Farklı Çalıştır"a ve ardından "Java programı"na tıklayın. Program, kodunuza girdiğiniz PDF dosyasının metin içeriğini çalıştırmalı ve yazdırmalıdır.
Log4j Başlangıç Hata Mesajını Bastır
Aşama 1
Başlatıldığında bir yapılandırma dosyası bulamadığında oluşturulan Java günlük kaydı sistemi log4j hata mesajını bastırmak için bir yapılandırma dosyası oluşturun. PrintPDF projesinin "src" klasörüne sağ tıklayın ve "Yeni"yi ve ardından "Dosya"yı seçin. Dosyayı "log4j.properties" olarak adlandırın Eclipse bu yeni dosya için boş bir ekran görüntüleyecektir.
Adım 2
"log4j.properties" dosyasını temsil eden boş ekrana aşağıdaki satırları yapıştırın.
Aşama 3
"log4j.properties" dosyasını kaydedin. Bu dosyanın üst düzey "src" dizininde bulunması, log4j başlangıç mesajını ve önemsiz günlük mesajlarını gizleyecektir. log4j sistemi yalnızca gerçek hataları yazdıracaktır.
Uç
PDF dosyalarından metin çıkarmak için kullanabileceğiniz bir dizi ticari paket de vardır, ancak bunlar ucuz değildir.