es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Encuentra la posición de texto dada en el archivo PDF.

Tengo un archivo PDF y quiero encontrar la posición / obtener la altura y el ancho del texto en él. Hasta ahora solo puedo dar la posición manualmente yo mismo, idealmente quiero obtener esta posición. Aquí está mi código a continuación:

PdfReader pdfReader = new PdfReader("c:/users/qasimovn/desktop/0011E06210410008 __v3.pdf");

PdfStamper pdfStamper = new PdfStamper(pdfReader,
    new FileOutputStream("c:/users/qasimovn/desktop/newSened.pdf"));

Image image = Image.getInstance("c:/users/qasimovn/desktop/imza.jpg");

for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) {

PdfContentByte content = pdfStamper.getOverContent(i);
image.setAbsolutePosition(400f, 50f);
content.addImage(image);

}
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para encontrar la posición / obtener la altura y anchura del texto en un archivo PDF, se puede utilizar la biblioteca iText en Java. La biblioteca iText proporciona métodos para extraer texto de los PDF, así como la posición del texto.

    Aquí hay un ejemplo de código que utiliza iText para extraer las coordenadas del texto:

    PdfReader pdfReader = new PdfReader("ruta/al/archivo.pdf"); // cargar el archivo PDF
    PdfReaderContentParser parser = new PdfReaderContentParser(pdfReader);
    Rectangle rect = new Rectangle(0, 0, pdfReader.getPageSize(1).getWidth(), pdfReader.getPageSize(1).getHeight()); // establecer el área de búsqueda en toda la página
    List<textmarginfinder> finders = parser.extractWords(1); // extraer todas las palabras en la página 1
    for (TextMarginFinder finder : finders) {
        List<rectangle> rectangles = finder.getRectangles(); // obtener los rectángulos para cada palabra
        for (Rectangle r : rectangles) {
            if (rect.intersects(r)) { // comprobar si la palabra está dentro del área de búsqueda
                float x = r.getLeft();
                float y = r.getTop();
                float width = r.getWidth();
                float height = r.getHeight();
                System.out.println(String.format("[%f,%f,%f,%f]", x, y, width, height)); // imprimir la posición y el tamaño de la palabra
            }
        }
    }
    pdfReader.close(); // cerrar el archivo PDF
    

    Este fragmento de código extrae todas las palabras de la primera página del archivo PDF e imprime la posición y el tamaño de cada palabra que se encuentra dentro del área de búsqueda especificada. Puedes ajustar el área de búsqueda según tus necesidades.

    Ten en cuenta que este fragmento de código solo extrae palabras, no otros tipos de texto como imágenes o gráficos. Si también necesitas extraer esos elementos, deberás utilizar un enfoque diferente.

Comments are closed.