Qual è il modo più semplice per ottenere il testo (parole) di un file PDF come una stringa lunga o una serie di stringhe.Da PDf a stringa
Ho provato pdfbox ma non funziona per me.
Qual è il modo più semplice per ottenere il testo (parole) di un file PDF come una stringa lunga o una serie di stringhe.Da PDf a stringa
Ho provato pdfbox ma non funziona per me.
JPedal
e Multivalent
offrono anche l'estrazione di testo in Java
o si può accedere utilizzando xpdf
Runtime.exec
barfs PDFBox su molti file PDF più recenti, in particolare quelli con le immagini PNG embedded.
Sono rimasto molto impressionato con PDFTextStream
uso iText. Il seguente frammento ad esempio estrarrà il testo.
PdfTextExtractor parser =new PdfTextExtractor(new PdfReader("C:/Text.pdf")); parser.getTextFromPage(3);
Beh, ho usato Tika al fine di estrarre il testo prima da pdf (che si basa su PDFBox), ma penso che Tika è utile solo quando si deve estrarre il testo da diversi formati di file (rilevazione automatica aiuta Un sacco).
Se si desidera analizzare solo i PDF in testo vorrei suggerire PDFTextStream perché è un parser molto meglio di altre API (come iText e PDFBox).
Con PDFTextStream è possibile ottenere facilmente testo strutturato (pagine-> blocchi-> linee-> testoUnità), e ti dà la possibilità di estrarre informazioni correlate come codifica dei caratteri, altezza, posizione di un personaggio nella pagina ecc. ..
Esempio:
public class ExtractTextAllPages {
public static void main (String[] args) throws IOException {
String pdfFilePath = args[0];
PDFTextStream pdfts = new PDFTextStream(pdfFilePath);
StringBuilder text = new StringBuilder(1024);
pdfts.pipe(new OutputTarget(text));
pdfts.close();
System.out.printf("The text extracted from %s is:", pdfFilePath);
System.out.println(text);
}
}
Che dire PDFBox non ha funzionato? Stai cercando alternative o una soluzione per il tuo problema esistente? – Catchwa
Beh, non mi piaceva neanche l'API, ho avuto una rapida occhiata a iText e penso che sia un'opzione migliore. L'API sembra più logica per le mie esigenze. – Ankur