Determinar Salto de Línea

Seguimiento del Salto de Línea de TextFragment Multilínea

El siguiente fragmento de código muestra cómo rastrear el comportamiento de salto de línea de un TextFragment multilínea dentro de un documento PDF.

La función track_line_breaking() está definida para demostrar esta funcionalidad. Comienza especificando las rutas de archivo de salida tanto para el documento PDF generado como para un archivo de texto correspondiente que contendrá información sobre el salto de línea.

Dentro de la función, se crea un nuevo objeto de documento PDF y se añade una nueva página a él. Posteriormente, se emplea un bucle para generar cuatro instancias de un TextFragment que contiene un texto con saltos de línea ("\r\n") insertados dentro de la cadena para simular texto multilínea.

Cada TextFragment se configura con un tamaño de fuente de 20 puntos antes de ser añadido a los párrafos de la página.

Después de que todos los TextFragments son añadidos, el documento se guarda.

La función luego procede a extraer notificaciones sobre el salto de línea de la segunda página del documento PDF generado utilizando el método get_notifications(). Estas notificaciones se escriben en un archivo de texto especificado anteriormente.

Este fragmento de código ilustra cómo crear un documento PDF que contiene texto de varias líneas y luego extraer información sobre el comportamiento de los saltos de línea, proporcionando información sobre cómo se organiza el texto dentro del documento.


    import aspose.pdf as ap

    def track_line_breaking():
        """Rastrear los saltos de línea de un TextFragment de varias líneas"""
        output_pdf = DIR_OUTPUT_TEXTS + "track_line_breaking.pdf"
        output_txt = DIR_OUTPUT_TEXTS + "track_line_breaking.txt"

        # Crear un nuevo objeto de documento
        document = ap.Document()
        page = document.pages.add()

        for i in range(4):
            text = ap.text.TextFragment(
                "Lorem ipsum \r\ndolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
            )
            text.text_state.font_size = 20
            page.paragraphs.add(text)
        document.save(output_pdf)

        notifications = document.pages[1].get_notifications()
        with open(output_txt, "w") as f:
            f.write(notifications)