Salve sto usando IText per estrarre il testo da un pdf. Il codice che ho attualmente sviluppato è il seguente:
il mio problema sta proprio in questa interfaccia, non riesco a trovare una documentazione utile che mi faccia capire come implementarla oppure un alternativa (con IText o altro) che mi faccia estrarre il testo rispettando spaziature invii ed ordine parole.Spero di essere stato molto chiaro nel descrivere il mio problema.codice:public static void main(String[] args) throws IOException { FileInputStream f=new FileInputStream("TestPiùPagine.pdf"); PdfReader lettore = new PdfReader(f); System.out.println(testoPagina(lettore,1)); } public static String testoPagina(PdfReader lettore,int paginaAttuale) throws IOException{ if(paginaAttuale==lettore.getNumberOfPages()){ return PdfTextExtractor.getTextFromPage(lettore, paginaAttuale); } String s = PdfTextExtractor.getTextFromPage(lettore, paginaAttuale); return s+testoPagina(lettore,paginaAttuale+1); }// metodo che gestisce ricorsivamente la copiatura del testo Il metodo legge e stampa tutto il contenuto della pagine solo che non rispetta nessun ordine. Per mantenere l'ordine dovrei usare il metodo: PdfTextExtractor.getTextFromPage(lettore,paginaAttuale,strategia); dove strategia è un implementazione dell interfaccia: public class Strategia implements TextExtractionStrategy { public void beginTextBlock() { // TODO Auto-generated method stub} public void endTextBlock() { // TODO Auto-generated method stub} public void renderImage(ImageRenderInfo arg0) { // TODO Auto-generated method stub} public void renderText(TextRenderInfo arg0) { // TODO Auto-generated method stub} public String getResultantText() { // TODO Auto-generated method stub return null;}
Teo

Rispondi quotando