¿Es posible obtener las ubicaciones de las palabras usando PDFBox, similar a "processTextPosition"? Parece que processTextPosition solo se llama en caracteres únicos, y el código que los combina en palabras forma parte del método PDFTextStripper (en el método "normalizar"), que devuelve la ubicación del texto. ¿Existe algún método/utilidad que extraiga la ubicación también? (Para los que preguntan lo que la motivación es - la información es en realidad una mesa, y nos gustaría para detectar células vacías) GraciasPDFBox - obtener ubicaciones de palabras (y no solo caracteres)
6
A
Respuesta
1
para obtener las palabras y su posiciones X e Y en un texto extraído de un archivo PDF que ha tendrá que extender la clase PdfTextStripper y utilizar la clase personalizada para extraer el texto del archivo PDF por ejemplo
public class CustomPDFTextStripper extends PDFTextStripper{
public CustomPDFTextStripper() throws IOException {
}
/**
* Override the default functionality of PDFTextStripper.
*/
@Override
protected void writeString(String text, List<TextPosition> textPositions) throws IOException{
TextPosition firstProsition = textPositions.get(0);
writeString(String.format("[%s , %s , %s]", firstProsition.getTextPos().getXPosition(),
firstProsition.getTextPos().getYPosition(), text));
}
}
crear un objeto de esta clase personalizada y extraer texto de este modo
PDFTextStripper pdfStripper = new CustomPDFTextStripper();
String text = pdfStripper.getText(*pdf file wrapped as a PDDocument object*);
la cadena de texto resultante está en la forma [xposition, yposition, word] separada por el separador de palabras predeterminado
+0
No funciona para PdfBox .net –
Cuestiones relacionadas
- 1. Leer texto y ubicaciones de imagen (coordenadas xy) usando PDFBox
- 2. Extraiga las primeras palabras X (no solo caracteres) de mySQL
- 3. PDFBox agregando espacios en blanco dentro de las palabras
- 4. PDFBox extracción de párrafos
- 5. UILabel Envoltura de palabras/Abrigo de caracteres
- 6. región PDFBox PDFTextStripperByArea coordina
- 7. Cómo obtener el color de fuente usando pdfbox
- 8. Couting de caracteres, palabras, longitud de las palabras y longitud total en una oración
- 9. palabras búsqueda de cualquiera caracteres repetidos
- 10. Reversión eficiente del orden de las palabras (no caracteres) en una matriz de caracteres
- 11. ¿PDFBox admite colores planos y separaciones?
- 12. Android: ¿Cómo ajustar el texto con caracteres? (No por palabras)
- 13. Regex solo permite letras y algunos caracteres
- 14. Palabras de MySQL y polaco
- 15. Regex para validar cadenas que tienen solo caracteres (no caracteres especiales), espacios en blanco y números
- 16. pseudo selector para caracteres/palabras en mayúsculas?
- 17. PHP: cómo obtener solo las palabras entre paréntesis() y borrar todo lo demás
- 18. ¿LucenePDFDocument ha desaparecido de pdfbox?
- 19. Java - PDFBox - Extracción de texto
- 20. La cookie de autenticación de ASP.NET desaparece, solo en IE, solo desde ubicaciones específicas
- 21. PDFBox A5 ajuste de tamaño de página
- 22. Marca de agua con PDFBox
- 23. Ubicaciones en iPhone ARK superposición en un solo lugar
- 24. Buscar todas las ubicaciones de subcadena en NSString (no solo primero)
- 25. C++ y, o, no, palabras clave XOR
- 26. Python: Distancia de Jaccard usando la intersección de palabras pero no la intersección de caracteres
- 27. Javascript: regex para reemplazar palabras dentro del texto y no parte de las palabras
- 28. ¿Combina solo palabras completas con LIKE?
- 29. ¿Cómo puedo eliminar caracteres que no sean palabras de un texto?
- 30. Desactivar el registro en PDFBox
quizás esto ayude: http://stackoverflow.com/questions/3203790/parsing-pdf-files-especially-with -tables-with-pdfbox/12545981 # 12545981 – impeto
Gracias por la sugerencia. Finalmente, nuestra solución fue cambiar la página de escritura, para mantener las palabras con su posición (como se describe en la URL que envió). Sin embargo, en nuestro caso, el número de columnas (y sus posiciones) no se conoce, y tenemos que encontrarlo en función de la organización de la información (por ejemplo, si hay muchas líneas que tienen palabras que comienzan en la posición Y) = 100, probablemente hay una columna de tabla allí). ¿Hay algún componente que pueda detectar esta estructura? Si es así, ¿puede manejar páginas ligeramente giradas también cuando la "Y" no es una constante? – user964797
una forma posible es realizar un seguimiento de los caracteres al agregar una anulación al processTextPosition() de PDFTextStripper Class y verificar el separador de palabras. Mantener una marca en el inicio de palabra y mantener una marca en el extremo de palabra y guardar la palabra cuando se encuentra un delimitador – programer8