Determinar Quebra de Linha

Acompanhar Quebra de Linha de TextFragment Multilinha

O próximo trecho de código mostra como acompanhar o comportamento de quebra de linha de um TextFragment multilinha dentro de um documento PDF.

A função track_line_breaking() é definida para demonstrar essa funcionalidade. Ela começa especificando caminhos de arquivo de saída tanto para o documento PDF gerado quanto para um arquivo de texto correspondente que conterá informações sobre a quebra de linha.

Dentro da função, um novo objeto de documento PDF é criado, e uma nova página é adicionada a ele. Subsequentemente, um loop é utilizado para gerar quatro instâncias de um TextFragment contendo um texto com quebras de linha ("\r\n") inseridas dentro da string para simular texto multilinha.

Cada TextFragment é configurado com um tamanho de fonte de 20 pontos antes de ser adicionado aos parágrafos da página.

Depois que todos os TextFragments são adicionados, o documento é salvo.

A função então procede para extrair notificações sobre a quebra de linha da segunda página do documento PDF gerado usando o método get_notifications(). Estas notificações são escritas em um arquivo de texto especificado anteriormente.

Este trecho de código ilustra como criar um documento PDF contendo texto em várias linhas e, em seguida, extrair informações sobre o comportamento da quebra de linha, fornecendo insights sobre como o texto é disposto dentro do documento.


    import aspose.pdf as ap

    def track_line_breaking():
        """Acompanhar a Quebra de Linha de TextFragment de Múltiplas Linhas"""
        output_pdf = DIR_OUTPUT_TEXTS + "track_line_breaking.pdf"
        output_txt = DIR_OUTPUT_TEXTS + "track_line_breaking.txt"

        # Criar novo 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)