estoy usando la libreria pdfbox para extraer texto de unos documentos pdf, tengo 2 tipos de documentos: 1 con texto normal para el cual saco el texto a la perfecion. y otro que contiene 3 tipos de texto (titulo, subtitulo y texto). el tema es que tengo que extraer esa informacion y dividir el texto de tal manera que me queden por un lado los titulos, por otro lado los subtitulos y por otro el texto. los titulos y subtitulos lo unico que los diferencia del texto es que estan en negrita y cursiva, pero el problema es que no puedo diferenciar cual es un titulo y cual un subtitulo ya que pdfbox me extrae el texto sin estilo (es decir sin negrita y cursiva)
no se si alguien alguna vez ha hecho algo parecido o sabe algo mas que yo de la libreria pdfbox, porque estuve ojeando la API y no veo un metodo o algo que me indique como puedo obtener estos estilos.
por si es de ayuda, la forma que uso para extraer el texto es la siguiente:
Código Java:
Ver original
try { doc = PDDocument.load (file_name); PDFTextStripper stripper = new PDFTextStripper(); stripper.setStartPage(1); stripper.setEndPage(3); //stripper.setEndPage(Integer.MAX_VALUE); stripper.writeText(doc, sw); } finally { if (doc != null) doc.close(); } sbuf.append(sw.toString() ); int i = sbuf.length() - 1; while (i > 0) { if (sbuf.charAt(i) == '\r' || sbuf.charAt(i) == '\n') { if (sbuf.charAt(i-1) == '-') { sbuf.deleteCharAt(i--); sbuf.deleteCharAt(i); } } i--; } //System.out.println(sbuf); texto = sbuf.toString(); return texto; }
es metodo me devuelve todo el texto separado por lineas tal cual esta en el archivo pdf. lo ideal seria que hubiese un bit o una bandera que indicase que caracteres estan en negrita o cursiva o algo pero vamos que cualquier idea para poder obtener dichos estilos me vale bien
gracias