როგორ წავიკითხოთ PDF ფაილი Java-ში

ქალი მუშაობს ოფისში

სურათის კრედიტი: Pixland/Pixland/Getty Images

არ არის რთული PDF ფაილების წაკითხვა Java-ში ხელმისაწვდომი ბიბლიოთეკების გამოყენებით. PDF ფაილების კითხვა საშუალებას გაძლევთ დაწეროთ Java პროგრამები, რომლებსაც შეუძლიათ ამ ფაილებში ტექსტის დამუშავება. PDF ფაილების წაკითხვის ერთ-ერთი ვარიანტია უფასო, ღია კოდის PDFBox ბიბლიოთეკა, რომელიც ხელმისაწვდომია Apache-დან. Eclipse Java განვითარების პლატფორმა ამარტივებს ამ საქმეს და მართავს ბიბლიოთეკებს, რომლებსაც ჩამოტვირთავთ. ამ Java ბიბლიოთეკების გამოსაყენებლად საჭიროა გაეცნოთ Java პროგრამირებას.

შეაგროვეთ საჭირო ბიბლიოთეკები

Ნაბიჯი 1

ჩამოტვირთეთ Java JDK Sun-ის ვებ-გვერდიდან. ეს არის შესრულებადი ფაილი, რომელიც შეგიძლიათ დააინსტალიროთ თქვენს სისტემაში მისი გაშვებით. ვერსიები ხელმისაწვდომია Windows-ისთვის, Mac-ისთვის და Linux-ისთვის. დააჭირეთ წითელ ღილაკს "ჩამოტვირთვა". მოთხოვნისას შეინახეთ ფაილი სახელწოდებით "jdk-6uxx-windows-xxx.exe". შეინახეთ ეს ფაილი და შემდეგ ორჯერ დააწკაპუნეთ მასზე Java ინსტალერის გასაშვებად.

დღის ვიდეო

ნაბიჯი 2

ჩამოტვირთეთ Eclipse განვითარების სისტემა და გახსენით იგი უმაღლესი დონის დირექტორიაში. აირჩიეთ "Eclipse IDE Java Developers-ისთვის". ეს დაიწყებს "eclipse-java-galileo-SR2-win32.zip"-ის ჩამოტვირთვას. ორჯერ დააწკაპუნეთ ფაილზე ჩამოტვირთვის დასრულების შემდეგ გასახსნელად. აირჩიეთ "C:" root დირექტორიას მდებარეობა Eclipse-ის გასახსნელად.

ნაბიჯი 3

დაიწყეთ Eclipse ორჯერ დაწკაპუნებით "eclipse.exe" დირექტორიაში, რომელიც თქვენ ახლახან შექმენით eclipse zip ფაილის გახსნით. Eclipse სისტემაში შექმენით პროექტი სახელად "PrintPdf". აირჩიეთ "ფაილი", შემდეგ "ახალი", შემდეგ "ჯავა პროექტი". ჩაწერეთ პროექტის სახელი "PrintPdf" დიალოგურ ფანჯარაში, რომელიც გამოჩნდება. დარწმუნდით, რომ არჩეულია რადიო ღილაკი, რომელიც ამბობს "შექმენით ცალკეული საქაღალდეები წყაროსა და კლასის ფაილებისთვის". დააწკაპუნეთ "დასრულება".

ნაბიჯი 4

შექმენით "lib" საქაღალდე თქვენს "PrintPdf" პროექტში. დააწკაპუნეთ მაუსის მარჯვენა ღილაკით "PrintPdf" პროექტზე და აირჩიეთ "ახალი" და შემდეგ "საქაღალდე". შეიყვანეთ სახელი "lib" და დააწკაპუნეთ "დასრულება".

ნაბიჯი 5

ჩამოტვირთეთ Apache "PDFBox.jar" Apache საიტიდან და დააკოპირეთ ის თქვენს მიერ ახლახან შექმნილ lib დირექტორიაში. იმავე ვებ გვერდზე ჩამოტვირთეთ ფაილი "fontbox-nn.jar" და "jempbox-nn.jar". თითოეულ შემთხვევაში, როდესაც თქვენ დააწკაპუნებთ ამ jar ფაილზე, ის გადაგიყვანთ გვერდზე, სადაც შეგიძლიათ აირჩიოთ რამდენიმე სერვერიდან ერთ-ერთი, რომელსაც შეუძლია უზრუნველყოს ეს ფაილი. აირჩიეთ თითოეული მათგანი და თითოეული jar ფაილი ჩამოიტვირთება. დააკოპირეთ თითოეული jar ფაილი თქვენს მიერ ახლახან შექმნილ lib დირექტორიაში.

ნაბიჯი 6

ჩამოტვირთეთ Apache log4j.jar პაკეტი იმავე გზით და დააკოპირეთ log4j.jar ფაილი დირექტორიაში. Apache PDFBox ბიბლიოთეკა იყენებს ამ Apache ჟურნალის ბიბლიოთეკას, ამიტომ ეს ფაილი უნდა იყოს წარმოდგენილი.

ნაბიჯი 7

ჩამოტვირთეთ Apache Commons Discovery პაკეტი zip ფაილის სახით. ორჯერ დააწკაპუნეთ zip ფაილზე, აირჩიეთ "commons-discovery-nn.jar" და ამოიღეთ იგი lib დირექტორიაში.

ნაბიჯი 8

Eclipse-ში დააწკაპუნეთ "lib" დირექტორიაზე და დააჭირეთ "F5". დარწმუნდით, რომ თქვენ მიერ დამატებული jar ფაილი ნაჩვენებია.

ნაბიჯი 9

დააწკაპუნეთ მაუსის მარჯვენა ღილაკით PrintPDF პროექტზე და აირჩიეთ "თვისებები". აირჩიეთ "Java Build Path" და აირჩიეთ "Libraries" ჩანართი. დააწკაპუნეთ ღილაკზე "დაამატე jars" და გადადით თქვენ მიერ ახლახან შექმნილ lib დირექტორიაში და დაამატეთ "commons-logging-nn.jar" "fontbox-nn.jar", "jempbox-nn.jar", "log4j-nn.jar". " და "pdfbox-nn.jar." დააჭირეთ "OK".

დაწერეთ კოდი PDF-ების წასაკითხად

Ნაბიჯი 1

დააწკაპუნეთ მარჯვენა ღილაკით თქვენი "PrintPDF" პროექტის "src" საქაღალდეზე და აირჩიეთ "ახალი" და "პაკეტი". შექმენით პაკეტი ნებისმიერი მნიშვნელოვანი სახელის გამოყენებით. მაგალითად, დაასახელეთ პაკეტი "com.pdf.util". დააწკაპუნეთ "დასრულება".

ნაბიჯი 2

დააწკაპუნეთ მაუსის მარჯვენა ღილაკით თქვენს მიერ შექმნილი პაკეტის სახელზე და აირჩიეთ "ახალი" და შემდეგ "კლასი". შექმენით კლასი სახელად "PDFTextParser." დარწმუნდით, რომ დააწკაპუნეთ მოსანიშნი ველი მონიშნული "public static void main...", რათა სისტემამ შექმნას a "მთავარი" მეთოდი.

ნაბიჯი 3

შეცვალეთ "მთავარი" მეთოდი "PDFTextParser" კლასში, რათა შეიცავდეს შემდეგ კოდს:

საჯარო static void main (String args[]){ PDFTextParser pdf = new PDFTextParser("data/javaPDF.pdf") GO //print out results System.out.println (pdf.getParsedText()) GO }

გაითვალისწინეთ, რომ ფაილი, რომლის ამობეჭდვაც გსურთ, გაწერილია კონსტრუქტორში PDFTextParser-ში ("data/JavaPDF.pdf"). ის ასევე მარტივად შეიძლება იყოს ბრძანების ხაზის არგუმენტი:

PDFTextParser pdf = ახალი PDFTextParser (argv[0])

წადი

ან შერჩეული GUI ინტერფეისიდან.

ის ქმნის PDFTextParser კლასის მაგალითს და შემდეგ უწოდებს მის მეთოდს "getParsedText".

ნაბიჯი 4

ჩასვით შემდეგი კოდი ზედა კლასის ხაზის ქვემოთ "public class PDFTextParser", რომელიც შეიქმნა თქვენთვის.

პირადი PDFParser parser = null GO

// ტექსტის ამოღება PDF დოკუმენტიდან. საჯარო PDFTextParser (სტრიქონის ფაილის სახელი) { ფაილი = ახალი ფაილი (ფაილის სახელი)

GO if (!file.isFile()) { System.err.println("File " + fileName + " არ არსებობს.") GO } //PDF პარსერის ინსტანციის დაყენება სცადეთ { parser = new PDFParser (new FileInputStream (ფაილი)) GO } catch (IOException e) { System.err.println("Pad-ის გახსნა შეუძლებელია პარსერი. " + e.getMessage()) GO } } // public String getParsedText() { PDDocument pdDoc = null GO COSDdocument cosDoc = null;
სიმებიანი parsedText = null; წადი

სცადეთ { PDFTextStripper pdfStripper = ახალი PDFTextStripper()

GO parser.parse() GO cosDoc = parser.getDocument() GO pdDoc = ახალი PDDocument (cosDoc) GO

//ყველა გვერდის სიის მიღება სია< PDPage> სია = pdDoc.getDocumentCatalog().getAllPages()

წადი

//გაითვალისწინეთ, რომ თქვენ შეგიძლიათ ამობეჭდოთ თქვენთვის სასურველი ნებისმიერი გვერდი //საწყისი და ბოლო გვერდის სხვადასხვა მნიშვნელობების არჩევით pdfStripper.setStartPage (1); //1-ზე დაფუძნებული int length = list.size(); //გვერდების საერთო რაოდენობა pdfStripper.setEndPage (სიგრძე); //ბოლო გვერდი //მიიღეთ ტექსტი შერჩეული გვერდებისთვის parsedText = pdfStripper.getText (pdDoc)

GO } catch (IOException e) { System.err .println("გამონაკლისი მოხდა PDF დოკუმენტის ანალიზისას." + e.getMessage()) GO } ბოლოს { try {if (cosDoc != null) cosDoc.close() GO if (pdDoc != null) pdDoc.close() GO } catch (IOException e) { e.printStackTrace() GO } }
დააბრუნე parsedText GO }

ნაბიჯი 5

გაუშვით პროგრამა. დააწკაპუნეთ მარჯვენა ღილაკით PDFTextParser კლასზე და დააწკაპუნეთ "Run As" და შემდეგ "Java program". პროგრამა უნდა გაუშვას და ამობეჭდოს თქვენს კოდში შეყვანილი PDF ფაილის ტექსტური შინაარსი.

ჩაახშო Log4j გაშვების შეცდომის შეტყობინება

Ნაბიჯი 1

შექმენით კონფიგურაციის ფაილი Java logging სისტემის log4j შეცდომის შესაჩერებლად, რომელიც შეიქმნა, როდესაც ის ვერ პოულობს კონფიგურაციის ფაილს მისი გაშვებისას. დააწკაპუნეთ მაუსის მარჯვენა ღილაკით PrintPDF პროექტის "src" საქაღალდეზე და აირჩიეთ "ახალი" და შემდეგ "ფაილი". დაასახელეთ ფაილი "log4j.properties" Eclipse აჩვენებს ცარიელ ეკრანს ამ ახალი ფაილისთვის.

ნაბიჯი 2

ჩასვით შემდეგი ხაზები ცარიელ ეკრანზე, რომელიც წარმოადგენს "log4j.properties" ფაილს.

ნაბიჯი 3

შეინახეთ "log4j.properties" ფაილი. ამ ფაილის არსებობა ზედა დონის "src" დირექტორიაში ჩაახშობს log4j გაშვების შეტყობინებას და ნებისმიერ ტრივიალურ შეტყობინებებს. log4j სისტემა ამობეჭდავს მხოლოდ რეალურ შეცდომებს.

რჩევა

ასევე არსებობს რამდენიმე კომერციული პაკეტი, რომელიც შეგიძლიათ გამოიყენოთ PDF ფაილებიდან ტექსტის ამოსაღებად, მაგრამ ისინი არ არის იაფი.

კატეგორიები

Ბოლო

როგორ გადავიდეთ QWERTY-დან AZERTY-ზე

როგორ გადავიდეთ QWERTY-დან AZERTY-ზე

ბევრი კლავიატურა განსხვავებულად არის განლაგებუ...