Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Quick Answer: Utilisez
SVGDocument pour charger SVG, créez
PdfSaveOptions et appelez
Converter.convert_svg(document, options, output_path) pour enregistrer SVG en PDF. PdfSaveOptions permet de régler taille de page, fond, résolution, qualité JPEG, métadonnées ou chiffrement.
PDF est un format courant lorsque des graphiques SVG doivent être imprimés, archivés, intégrés à des documents ou partagés avec une mise en page stable. Aspose.SVG for Python via .NET permet de convertir SVG en PDF avec une API de conversion de haut niveau ou avec un périphérique de rendu.
Utilisez Converter.convert_svg() pour la plupart des conversions. Utilisez SVGDocument.render_to() avec PdfDevice si votre flux utilise déjà des périphériques de rendu.
Avant d’exécuter les exemples, installez Aspose.SVG for Python via .NET dans votre environnement Python.
Le plus simple consiste à charger le SVG avec SVGDocument, créer PdfSaveOptions et appeler Converter.convert_svg().
1from aspose.svg import SVGDocument
2from aspose.svg.converters import Converter
3from aspose.svg.saving import PdfSaveOptions
4
5# Convert an SVG file to PDF using the default save options
6options = PdfSaveOptions()
7
8with SVGDocument("document.svg") as document:
9 Converter.convert_svg(document, options, "document.pdf")Utilisez PdfSaveOptions pour contrôler la sortie PDF. L’exemple définit un fond transparent, ajuste la page au contenu SVG, modifie la résolution des images raster et règle la qualité JPEG.
1import os
2from aspose.svg import SVGDocument
3from aspose.svg.converters import Converter
4from aspose.svg.drawing import Resolution
5from aspose.svg.rendering import SizingType
6from aspose.svg.saving import PdfSaveOptions
7from aspose.pydrawing import Color
8
9# Convert SVG to PDF and customize page sizing and image quality
10input_folder = "data/"
11output_folder = "output/"
12input_path = os.path.join(input_folder, "document.svg")
13output_path = os.path.join(output_folder, "document.pdf")
14os.makedirs(output_folder, exist_ok=True)
15
16options = PdfSaveOptions()
17options.background_color = Color.from_argb(0, 255, 255, 255)
18options.page_setup.sizing = SizingType.FIT_CONTENT
19options.horizontal_resolution = Resolution.from_dots_per_inch(96.0)
20options.vertical_resolution = Resolution.from_dots_per_inch(96.0)
21options.jpeg_quality = 80
22
23with SVGDocument(input_path) as document:
24 Converter.convert_svg(document, options, output_path)| Propriété | Rôle |
|---|---|
| background_color | Fond de page si le SVG contient de la transparence |
| page_setup | Taille de page, marges et mode de dimensionnement |
| horizontal_resolution | Résolution horizontale des ressources raster dans le PDF |
| vertical_resolution | Résolution verticale des ressources raster dans le PDF |
| jpeg_quality | Qualité JPEG des images raster intégrées |
| document_info | Métadonnées PDF comme titre, auteur, sujet et mots-clés |
| encryption | Chiffrement PDF et permissions |
PdfSaveOptions hérite des paramètres de rendu PDF de
PdfRenderingOptions, donc de nombreuses propriétés sont partagées entre les flux converter et device.
La méthode render_to() envoie le document SVG chargé vers un périphérique de rendu. Ce modèle est utile si l’application travaille déjà avec des périphériques Aspose.SVG.
1import os
2from aspose.svg import SVGDocument
3from aspose.svg.rendering import SizingType
4from aspose.svg.rendering.pdf import PdfDevice, PdfRenderingOptions
5
6# Render SVG to PDF through a PdfDevice
7input_folder = "data/"
8output_folder = "output/"
9input_path = os.path.join(input_folder, "document.svg")
10output_path = os.path.join(output_folder, "document.pdf")
11os.makedirs(output_folder, exist_ok=True)
12
13options = PdfRenderingOptions()
14options.jpeg_quality = 80
15options.page_setup.sizing = SizingType.FIT_CONTENT
16
17with SVGDocument(input_path) as document:
18 with PdfDevice(options, output_path) as device:
19 document.render_to(device)| Méthode | Idéal pour |
|---|---|
Converter.convert_svg() | Conversion SVG vers PDF directe avec peu de code et des options d’enregistrement |
SVGDocument.render_to() | Flux de rendu utilisant des périphériques de sortie comme PdfDevice |
Pour une conversion SVG vers PDF ordinaire, commencez par Converter.convert_svg(). Utilisez render_to() lorsque vous avez besoin du modèle à périphérique de rendu.
| Problème | Cause probable | Solution |
|---|---|---|
| La taille de page PDF est inattendue | La configuration par défaut ne correspond pas au viewport ou au contenu SVG | Définissez options.page_setup.sizing et configurez taille ou marges |
| Les zones transparentes ont un fond non souhaité | Le lecteur PDF ou le flux de sortie applique son propre fond | Définissez options.background_color avant conversion |
| Les images intégrées sont floues ou volumineuses | Résolution et qualité JPEG ne conviennent pas à la cible | Ajustez horizontal_resolution, vertical_resolution et jpeg_quality |
| Le PDF n’est pas créé | Le dossier cible n’existe pas ou le script enregistre ailleurs | Créez le dossier avec os.makedirs() et utilisez os.path.join() |
| Texte ou ressources externes manquent | SVG référence des polices, images ou CSS non résolus | Utilisez des chemins corrects et gardez les ressources près du SVG |
Vous pouvez tester la conversion avec le SVG to PDF Converter gratuit. Téléversez un SVG, lancez la conversion et comparez le résultat avant de l’implémenter en Python.
Chargez SVG avec SVGDocument, créez PdfSaveOptions et appelez Converter.convert_svg(document, options, output_path).
Oui. Utilisez page_setup dans PdfSaveOptions ou PdfRenderingOptions pour configurer taille, marges et mode de dimensionnement.
Oui. Créez PdfRenderingOptions, ouvrez un PdfDevice et appelez document.render_to(device).
Le contenu transparent peut être conservé, mais le résultat visible dépend du lecteur PDF et du flux. Définissez background_color pour un fond prévisible.
Réduisez jpeg_quality, diminuez la résolution des images raster intégrées et simplifiez les SVG volumineux ou complexes.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.