Hola a todos.
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