Déterminer le Saut de Ligne
Suivi de la Césure de Texte Multi-Lignes
Le snippet de code suivant montre comment suivre le comportement de la césure d’un TextFragment multi-lignes dans un document PDF.
La fonction track_line_breaking() est définie pour démontrer cette fonctionnalité. Elle commence par spécifier les chemins des fichiers de sortie pour le document PDF généré et un fichier texte correspondant qui contiendra des informations sur la césure.
Au sein de la fonction, un nouvel objet document PDF est créé, et une nouvelle page y est ajoutée. Par la suite, une boucle est utilisée pour générer quatre instances d’un TextFragment contenant un texte avec des sauts de ligne ("\r\n") insérés dans la chaîne pour simuler un texte multi-lignes.
Chaque TextFragment est configuré avec une taille de police de 20 points avant d’être ajouté aux paragraphes de la page.
Après que tous les TextFragments ont été ajoutés, le document est sauvegardé.
La fonction procède ensuite à extraire des notifications sur la césure de la deuxième page du document PDF généré en utilisant la méthode get_notifications(). Ces notifications sont écrites dans un fichier texte spécifié précédemment.
Cet extrait de code illustre comment créer un document PDF contenant du texte sur plusieurs lignes, puis extraire des informations concernant le comportement de saut de ligne, fournissant des insights sur la disposition du texte dans le document.
import aspose.pdf as ap
def track_line_breaking():
"""Suivre le découpage de ligne de TextFragment multi-ligne"""
output_pdf = DIR_OUTPUT_TEXTS + "track_line_breaking.pdf"
output_txt = DIR_OUTPUT_TEXTS + "track_line_breaking.txt"
# Créer un nouvel objet document
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)