Ho bisogno di analizzare un file PDF che contiene dati tabulari. Sto usando PDFBox per estrarre il testo del file per analizzare il risultato (String) in seguito. Il problema è che l’estrazione del testo non funziona come previsto per i dati tabulari. Ad esempio, ho un file che contiene una tabella come questa (7 colonne: le prime due hanno sempre dati, solo una colonna di complessità ha dati, solo una colonna di finanziamento ha dati):
+----------------------------------------------------------------+ | AIH | Value | Complexity | Financing | | | | Medium | High | Not applicable | MAC/Other | FAE | +----------------------------------------------------------------+ | xyz | 12.43 | 12.34 | | | 12.34 | | +----------------------------------------------------------------+ | abc | 1.56 | | 1.56 | | | 1.56| +----------------------------------------------------------------+
Quindi uso PDFBox:
PDDocument document = PDDocument.load(pathToFile); PDFTextStripper s = new PDFTextStripper(); String content = s.getText(document);
Queste due righe di dati verrebbero estratte in questo modo:
xyz 12.43 12.4312.43 abc 1.56 1.561.56
Non ci sono spazi bianchi tra gli ultimi due numeri, ma questo non è il problema più grande. Il problema è che non so cosa significano gli ultimi due numeri: Medio, Alto, Non applicabile? MAC / Altro, FAE? Non ho la relazione tra i numeri e le loro colonne.
Non è necessario per me utilizzare la libreria PDFBox, quindi una soluzione che utilizza un’altra libreria va bene. Quello che voglio è essere in grado di analizzare il file e sapere cosa significa ogni numero analizzato.