Определить Перенос Строки

Отслеживание разрыва строк в многострочном TextFragment

Следующий фрагмент кода показывает, как отслеживать поведение разрыва строк в многострочном TextFragment в PDF-документе.

Функция track_line_breaking() определена для демонстрации этой функциональности. Она начинается с задания путей для выходных файлов как для созданного PDF-документа, так и для соответствующего текстового файла, который будет содержать информацию о разрывах строк.

Внутри функции создается новый объект PDF-документа, и к нему добавляется новая страница. Затем используется цикл для создания четырех экземпляров TextFragment, содержащих текст с разрывами строк ("\r\n"), вставленными в строку для имитации многострочного текста.

Каждый TextFragment настроен с размером шрифта в 20 пунктов перед добавлением в абзацы страницы.

После добавления всех TextFragment документ сохраняется.

Затем функция извлекает уведомления о разрывах строк со второй страницы созданного PDF-документа, используя метод get_notifications(). Эти уведомления записываются в текстовый файл, указанный ранее.

Этот фрагмент кода иллюстрирует, как создать PDF-документ, содержащий многострочный текст, а затем извлечь информацию о поведении переноса строк, предоставляя представление о том, как текст размещен в документе.


    import aspose.pdf as ap

    def track_line_breaking():
        """Отслеживание переноса строк в многострочном TextFragment"""
        output_pdf = DIR_OUTPUT_TEXTS + "track_line_breaking.pdf"
        output_txt = DIR_OUTPUT_TEXTS + "track_line_breaking.txt"

        # Создать новый объект документа
        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)