Det är inte svårt att läsa PDF-filer i Java med hjälp av bibliotek som är lätt tillgängliga . Läsa PDF-filer kan du skriva Java-program som kan bearbeta texten i dessa filer . Ett alternativ för att läsa PDF-filer är gratis , open - source PDFBox Library Tillgänglig från Apache . Eclipse Java utvecklingsplattform gör jobbet lättare och hanterar biblioteken du ska ladda ner . Du måste vara bekant med Java -programmering för att utnyttja dessa Java -bibliotek . Instruktioner
Samla behövs Bibliotek
1
hämta Java JDK från Sun : s hemsida . Detta är en körbar fil som du kan installera på ditt system genom att köra den . Versioner finns för Windows , Mac och Linux . Klicka på den röda \\ " Download \\ " -knappen . Spara en fil som heter \\ " jdk - 6uxx - windows - XXX.exe \\ " när du ombeds . Spara filen och dubbelklicka sedan på den för att starta Java installationsprogrammet .
2
Ladda ner Eclipse utveckling systemet och packa upp den till en toppnivå katalog . Välj \\ " Eclipse IDE för Java-utvecklare . \\ " Detta kommer att påbörja nedladdningen av \\ " eclipse- java - Galileo - SR2 - win32.zip . \\ " Dubbelklicka på filen för att packa upp den när nedladdningen är slutföra. Välj \\ " C : \\ " . Rotkatalogen plats att packa Eclipse
3 Eclipse
Börja med att dubbelklicka på \\ " eclipse.exe \\ " i katalogen du just skapade genom att packa upp den förmörkelse zip -filen . I Eclipse -systemet , skapa ett projekt som heter \\ " PrintPDF . \\ " Välj \\ " Arkiv \\ " sedan \\ " Ny \\ " sedan \\ " Java -projektet . \\ " Ange projektets namn \\ " ; PrintPDF \\ " i dialogrutan som visas . Kontrollera att alternativknappen är markerad som säger \\ " Skapa olika mappar för käll-och klass -filer . \\ " Klicka på \\ " Slutför . \\ "
4
Skapa ett \\ " lib \\ " mappen i din \\ " PrintPDF \\ " projektet . Högerklicka på \\ " PrintPDF \\ " projektet och välj \\ " Ny \\ " och sedan \\ " mapp . \\ " Ange namnet \\ " lib \\ " och klicka på \\ " Slutför . \\ "
5
Hämta Apache \\ " PDFBox.jar \\ " från Apache webbplats och kopiera den i lib-katalogen du just skapade . På samma webbsida , ladda ner \\ " fontbox - nn.jar \\ " filen och \\ " jempbox - nn.jar \\ " filen . I varje fall , när du klickar på den jar-filen , kommer det att ta dig till en sida där du kan välja ett av flera servrar som kan ge den här filen . Välj en av dem och varje burk Filen hämtas . Kopiera varje burk fil i lib-katalogen du just skapade .
6
Hämta Apache log4j.jar paketet på samma sätt och kopiera log4j.jar filen i katalogen . Apache PDFBox biblioteket använder denna Apache loggning bibliotek , så den här filen måste vara närvarande .
7
Ladda Apache Commons Discovery paket som en zip -fil . Dubbelklicka på zip-filen , välj \\ " commons - discovery - nn.jar \\ " och extrahera den i lib-katalogen .
8
Eclipse , klicka på \\ " lib \\ " katalog och tryck på \\ " F5 . \\ " se till att alla jar-filer du lagt till visas .
9
Högerklicka på PrintPDF projektet och välj \\ " Egenskaper . \\ " välj \\ " Java Build Path \\ " och välj \\ " Libraries \\ " fliken . Klicka på \\ " Lägg burkar \\ " och gå till lib-katalogen du just har skapat , och lägg till \\ " commons - logging - nn.jar \\ " \\ " fontbox - nn.jar , \\ " \\ " ; . jempbox - nn.jar , \\ " \\ " log4j - nn.jar , \\ " och \\ " pdfbox - nn.jar \\ " Klicka på \\ " OK \\ "
Skriv kodexen Läs PDF
10
Högerklicka på \\ " src \\ " -mappen på din \\ " PrintPDF \\ " projekt och välj \\ " Ny \\ " och \\ " Package . \\ " Skapa ett paket med något meningsfullt namn . Till exempel , namnge paketet \\ " com.pdf.util . \\ " Klicka på \\ " Slutför . \\ "
11
Högerklicka på förpackningen namn du just skapade och välj \\ " Ny \\ " och sedan \\ " klass . \\ " Skapa en klass som heter \\ " PDFTextParser . \\ " Var noga med att klicka i kryssrutan märkt \\ " public static void main ... \\ " så att systemet kommer att skapa en \\ " main \\ " metoden .
12
Redigera \\ " main \\ " metoden i \\ " PDFTextParser \\ " klass att innehålla följande kod :
public static void main ( String args [ ] ) {
PDFTextParser pdf = ny PDFTextParser ( \\ " uppgifter /javaPDF.pdf \\ " )
GO
//Skriv ut resultatet
System.out.println ( pdf.getParsedText ( ) )
GO
}
,
Observera att filen du vill skriva ut stavas ut i konstruktorn till PDFTextParser ( \\ " uppgifter /JavaPDF.pdf \\ " ) . Det kunde lika gärna vara ett argument :
PDFTextParser pdf = ny PDFTextParser ( argv [ 0 ] )
GO
eller väljas från ett grafiskt gränssnitt .
det skapar en instans av PDFTextParser klassen , och sedan kallar sin \\ " getParsedText \\ " metoden .
13
Infoga följande kod precis under den översta klassen raden \\ " public class PDFTextParser \\ " som skapades för dig .
privat PDFParser parser = null
GO
//extrahera text från PDF-dokument
offentliga PDFTextParser ( String filename ) {
fil = new File ( filnamn)
; ( ! file.isFile ( ) ) GO
om {
System.err.println ( \\ " Arkiv \\ " + filnamn + \\ " . existerar inte \\ " )
GO
}
//Ställ in instans av PDF- parser
try {
parser = ny PDFParser ( ny FileInputStream ( fil ) )
GO
} catch ( IOException e ) {
System.err.println ( \\ " Kan inte öppna PDF- Parser . \\ " + e.getMessage ( ) )
GO
}
}
//--------------------- ----------
public String getParsedText ( ) {
PDDocument pdDoc = null
GO
COSDocument cosDoc = null ;
String parsedText = null ;
GO
try {
PDFTextStripper pdfStripper = ny PDFTextStripper ( )
GO
parser.parse ( )
GO
cosDoc = parser.getDocument ( )
GO
pdDoc = ny PDDocument ( cosDoc )
GO
//få lista på alla sidor
lista lista = pdDoc.getDocumentCatalog ( ) . getAllPages ( )
GO
//observera att du kan skriva ut några sidor du vill
//genom att välja olika värden på början och slutet sidan
pdfStripper.setStartPage ( 1 ) , //1 - baserade
int längd = list.size ( ) , //totalt antal sidor
pdfStripper.setEndPage ( längd ) , //sista sidan
//få texten för de valda sidorna
parsedText = pdfStripper.getText ( pdDoc )
GO
} catch ( IOException e ) {
System.err
. println ( \\ " Ett undantag inträffade i tolkning av PDF-dokument . \\ "
+ e.getMessage ( ) )
GO
; } slutligen {
try {
if ( ! cosDoc = null )
cosDoc.close ( )
GO
om ( pdDoc ! = null )
pdDoc.close ( )
GO
} catch ( IOException e ) {
e.printStackTrace ( )
GO
}
}
avkastning parsedText
GO
}
14 Kör programmet . Högerklicka på PDFTextParser klassen och klicka på \\ " Kör som \\ " och sedan på \\ " Java -program . \\ " Programmet ska springa och skriva ut texten innehållet i PDF -filen du angav i din kod . Addera dämpa log4j Startup felmeddelande
15
Skapa en konfigurationsfil för att undertrycka Java loggningssystem log4j felmeddelande skapas när den inte kan hitta en konfigurationsfil när den startar . Högerklicka på \\ " src \\ " mappen i PrintPDF projektet och välj \\ " Ny \\ " och sedan \\ " File . \\ " Namn på filen \\ " log4j.properties \\ " Eclipse visas en tom skärm för den nya filen .
16
klistra in följande rader i den tomma skärmen som representerar \\ " log4j.properties \\ " filen .
; # Ställ rot logger nivå för att felsöka och dess enda appender till A1
log4j.rootLogger = WARN , A1
# A1 är inställd på att vara en ConsoleAppender < . . br /> log4j.appender.A1 = org.apache.log4j.ConsoleAppender
# A1 använder PatternLayout .
log4j.appender.A1.layout = org.apache . log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern = % - 4r [ % T] % - 5p % c % x - % m % n
17
Spara \\ " log4j.properties \\ " filen . Förekomsten av denna fil i den översta nivån \\ " src \\ " katalogen kommer undertrycka log4j start meddelandet och alla triviala meddelanden loggning . Den log4j Systemet kommer att skriva ut endast faktiska fel .