Aspose.Page pour Python – Foire aux questions



Q : Qu’est-ce qu’Aspose.Page pour Python et quels formats de fichiers prend-il en charge ?

R : Aspose.Page pour Python est une bibliothèque qui permet la création, la modification, la conversion et le rendu de documents PostScript (PS), PostScript encapsulé (EPS) et XPS. Il peut générer des fichiers PDF, XPS, PNG, JPEG, BMP, GIF, TIFF, SVG et exporter des objets PDF‑XObject ou XPS‑Canvas.


Q : Ai-je besoin d’outils externes comme Ghostscript ou un runtime .NET pour utiliser la bibliothèque ?

R : Non. Toute la logique de rendu et de conversion requise est regroupée dans un binaire natif autonome que le package « aspose.page » charge au moment de l’exécution. Aucune dépendance externe n’est nécessaire sur Windows, macOS ou Linux.


Q : Comment installer Aspose.Page pour Python ?

R : Utilisez pip :

1pip install aspose-page

La roue extrait automatiquement les binaires natifs dans le dossier de vos packages de site.


Q : Comment puis-je demander une licence pour éviter les filigranes d’évaluation ?

R : Placez votre fichier .lic dans un endroit accessible et ajoutez le code suivant avant tout traitement :

1import aspose.page as ap
2license = ap.License()
3license.set_license('Aspose.Page.Python.lic')

Le chemin peut être absolu ou relatif au script.


Q : Quel est le code minimal pour convertir un fichier PS en PDF ?

R :

1import aspose.page as ap
2
3doc = ap.Document('sample.ps')
4pdf_opt = ap.save.PdfSaveOptions()
5doc.save('sample.pdf', pdf_opt)

L’appel traite toutes les pages par défaut.


Q : Comment puis-je restituer une page spécifique d’un document XPS au format PNG ?

R :

1import aspose.page as ap
2
3doc = ap.Document('sample.xps')
4img_opt = ap.save.ImageSaveOptions(ap.SaveFormat.PNG)
5img_opt.page_number = 2          # 1based index
6doc.save('page2.png', img_opt)

Définissez resolution, jpeg_quality, etc., sur img_opt selon vos besoins.


Q : Puis-je créer un nouveau document PostScript à partir de zéro ?

R : Oui. Définissez une taille de page, obtenez le canevas et dessinez des objets graphiques :

1import aspose.page as ap
2
3size = ap.base.SizeF(595, 842)           # A4 in points
4doc = ap.Document(size)
5canvas = doc.pages[0].canvas
6canvas.draw_line(ap.base.PointF(0, 0), ap.base.PointF(595, 842))
7canvas.draw_string('Hello Aspose!', ap.base.Font('Arial', 24),
8                   ap.base.Brushes.black, ap.base.PointF(100, 100))
9doc.save('new_doc.ps', ap.save.PSOptions())



Q : Comment puis-je ajouter des métadonnées PDF telles que le titre et l’auteur lors de la conversion ?

R : Utilisez l’objet PdfSaveOptions :

1pdf_opt = ap.save.PdfSaveOptions()
2pdf_opt.title = 'My Document'
3pdf_opt.author = 'John Doe'
4doc.save('output.pdf', pdf_opt)



Q : Est-il possible de fusionner plusieurs fichiers PS/EPS/XPS en un seul PDF ?

R : Oui. Chargez chaque source séquentiellement et activez le mode ajout :

1options = ap.save.PdfSaveOptions()
2options.append_mode = True
3for src in ['a.ps', 'b.eps', 'c.xps']:
4    doc = ap.Document(src)
5    doc.save('merged.pdf', options)



Q : Comment supprimer ou faire pivoter une page dans un document chargé ?

R :

1doc = ap.Document('multi_page.ps')
2doc.pages.remove_at(2)          # removes the third page (0based)
3page = doc.pages[0]
4page.transform.rotate(90)       # clockwise 90°
5doc.save('updated.pdf', ap.save.PdfSaveOptions())



Q : Puis-je remplacer le texte d’espace réservé dans un modèle PS/EPS ?

R : Utilisez l’API replace_text :

1doc = ap.Document('template.eps')
2doc.replace_text('{{name}}', 'John Doe')
3doc.save('filled.pdf', ap.save.PdfSaveOptions())

Seuls les flux de texte consultables sont concernés.


Q : Quelles sont les considérations en matière de mémoire pour le traitement de documents volumineux (>500 Mo) ?

R : Le moteur diffuse les données lorsque cela est possible, mais charge chaque page en mémoire. Pour maintenir une faible utilisation de la RAM, traitez les pages individuellement en définissant « options.page_numbers = [n] » dans une boucle, ou utilisez un « ThreadPoolExecutor » pour gérer les pages en parallèle sans conserver l’intégralité du document.


Q : Le multithreading est-il sûr lors de la conversion de plusieurs fichiers simultanément ?

R : Oui. Chaque instance de « Document » est indépendante, vous pouvez donc exécuter des conversions sur des threads ou des processus distincts. Aucun état global statique n’est partagé, ce qui rend l’exécution parallèle simple.


Q : Quelles versions de Python et quels systèmes d’exploitation sont pris en charge ?

R : Python3.7 à 3.12 sur les interpréteurs 64 bits. Systèmes d’exploitation pris en charge : Windows10/11 (x64), distributions Linux avec glibc2.17+ (x64), macOS10.15+ (x64 et Apple Silicon via Rosetta2). Les conteneurs Docker basés sur des images Python officielles fonctionnent immédiatement.


Q : J’obtiens « ImportError : Aucun module nommé « aspose » ». Comment puis-je y remédier ?

R : Le package n’est pas installé dans l’environnement actuel. Exécutez pip install aspose-page en utilisant le même interpréteur que celui avec lequel vous avez l’intention d’exécuter le script (quel python vérifier). Activez le bon environnement virtuel si nécessaire.


Q : Comment résoudre l’erreur “SystemError : Impossible de charger les bibliothèques natives” sous Linux ?

R : Assurez-vous que le runtime C++ standard est présent (apt-get install libstdc++6) et que votre version de la glibc répond à la configuration minimale requise (2.17). Si vous utilisez une ancienne distribution, mettez à niveau les packages libc ou utilisez une image Docker de base plus récente.


Q : Où puis-je trouver de la documentation officielle, des exemples de code et de l’assistance ?

R :

Have any questions about Aspose.Page?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.