Convertir SVG en PDF – C#
Voyons comment convertir un document SVG en un fichier au format PDF (Portable Document Format). Avec Aspose.HTML, vous pouvez convertir SVG au format PDF de manière programmatique en contrôlant totalement un large éventail de paramètres de conversion.
Dans cet article, vous trouverez des informations sur la façon de convertir SVG en PDF en utilisant les méthodes ConvertSVG() de la classe Converter et sur la façon d’appliquer les paramètres PdfSaveOptions et ICreateStreamProvider. Vous pouvez également essayer un convertisseur SVG en ligne pour tester les fonctionnalités de l’API Aspose.HTML et convertir des SVG à la volée.
Convertisseur SVG en ligne
Vous pouvez convertir SVG en d’autres formats avec l’API Aspose.HTML en temps réel. Veuillez charger SVG à partir du système de fichiers local, sélectionnez le format de sortie et exécutez l’exemple. Les options d’enregistrement sont définies par défaut. Vous recevrez immédiatement le résultat de la conversion dans un fichier séparé.
Si vous souhaitez convertir SVG en fichier PDF par programme, veuillez consulter les exemples de code C# suivants.
SVG vers PDF en une seule ligne de code
Les méthodes statiques de la classe Converter sont principalement utilisées comme moyen le plus simple de convertir un fichier SVG dans différents formats. Vous pouvez convertir un fichier SVG en PDF dans votre application C# en une seule ligne de code !
Dans l’exemple suivant, nous prenons un fichier SVG dans un système de fichiers local ( shapes.svg), le convertissons et l’enregistrons dans le système de fichiers local.
1// Convert SVG to PDF in C#
2
3// Invoke the ConvertSVG() method for SVG to PDF conversion
4Converter.ConvertSVG(Path.Combine(DataDir, "shapes.svg"), new PdfSaveOptions(), Path.Combine(OutputDir, "convert-with-single-line.pdf"));Convertir SVG en PDF
La conversion d’un fichier vers un autre format à l’aide de la méthode ConvertSVG() est une séquence d’opérations parmi lesquelles le chargement et l’enregistrement de documents. Dans l’exemple suivant, nous créons un fichier SVG à partir du code.
- Préparer le code d’un document SVG.
- Créer un nouvel objet PdfSaveOptions.
- Utilisez la méthode
ConvertSVG(
content,baseUri,options,outputPath) de la classe Converter pour enregistrer SVG en tant que fichier PDF.
Jetez un coup d’œil à l’extrait de code C# suivant, qui illustre le processus de conversion de SVG en PDF à l’aide d’Aspose.HTML for .NET.
1// Convert SVG to PDF using C#
2
3// Prepare SVG code
4string code = "<svg xmlns='http://www.w3.org/2000/svg'>" +
5 "<circle cx ='100' cy ='100' r ='50' fill='none' stroke='red' stroke-width='5' />" +
6 "</svg>";
7
8// Prepare a path for converted file saving
9string savePath = Path.Combine(OutputDir, "circle.pdf");
10
11// Initialize PdfSaveOptions
12PdfSaveOptions options = new PdfSaveOptions();
13
14// Convert SVG to PDF
15Converter.ConvertSVG(code, ".", options, savePath);Vous pouvez télécharger les exemples complets et les fichiers de données sur GitHub.
Sauvegarder les options
Aspose.HTML permet de convertir des SVG en PDF en utilisant des options d’enregistrement par défaut ou personnalisées. l’utilisation de PdfSaveOptions vous permet de personnaliser le processus de rendu ; vous pouvez spécifier la taille de la page, les marges, la couleur d’arrière-plan, les permissions de fichier, Css, etc.
| Property | Description |
|---|---|
| JpegQuality | Specifies the quality of JPEG compression for images. The default value is 95. |
| Css | Gets a CssOptions object which is used for configuration of CSS properties processing. |
| DocumentInfo | This property contains information about the output PDF document. |
| BackgroundColor | This property sets the color that will fill the background of every page. By default, this property is Transparent. |
| PageSetup | This property gets a page setup object and uses it for configuration output page-set. |
| HorizontalResolution | Sets horizontal resolution for output images in pixels per inch. The default value is 300 dpi. |
| VerticalResolution | Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
| Encryption | This property gets or sets encryption details. If it is not set, then no encryption will be performed. |
Pour en savoir plus sur les PdfSaveOptions, veuillez lire l’article Convertisseurs à réglage fin.
Convertir SVG en PDF en utilisant PdfSaveOptions
Pour convertir SVG en PDF en spécifiant PdfSaveOptions, vous devez suivre quelques étapes :
- Charger un fichier SVG en utilisant l’un des constructeurs SVGDocument() de la classe SVGDocument. ( aspose.svg).
- Créer un nouvel objet PdfSaveOptions et spécifier les options d’enregistrement.
- Utilisez la méthode ConvertSVG() pour sauvegarder le SVG en tant que fichier PDF. Vous devez passer les paramètres SVGDocument, PdfSaveOptions et le chemin du fichier de sortie à la méthode ConvertSVG() pour la conversion SVG en PDF.
L’extrait de code C# suivant montre comment convertir un SVG en PDF en utilisant des options d’enregistrement personnalisées :
1// Convert SVG to PDF in C# with custom page settings
2
3// Prepare a path to a source SVG file
4string documentPath = Path.Combine(DataDir, "aspose.svg");
5
6// Prepare a path for converted file saving
7string savePath = Path.Combine(OutputDir, "aspose-options.pdf");
8
9// Initialize an SVG document from the file
10using SVGDocument document = new SVGDocument(documentPath);
11
12// Initialize PdfSaveOptions. Set up the page-size, margins, resolutions, JpegQuality, and change the background color to AliceBlue
13PdfSaveOptions options = new PdfSaveOptions()
14{
15 HorizontalResolution = 200,
16 VerticalResolution = 200,
17 BackgroundColor = System.Drawing.Color.AliceBlue,
18 JpegQuality = 100
19};
20options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(500, 500), new Margin(30, 10, 10, 10));
21
22// Convert SVG to PDF
23Converter.ConvertSVG(document, options, savePath);Le constructeur
PdfSaveOptions() initialise une instance de la classe PdfSaveOptions qui est transmise à la méthode ConvertSVG(). La méthode ConvertSVG() prend le document, les options, le chemin du fichier de sortie savePath et effectue l’opération de conversion.
Dans l’exemple ci-dessus, nous utilisons :
- propriété
BackgroundColorqui définit la couleur de l’arrière-plan. La couleur d’arrière-plan par défaut est Transparent. - les propriétés
HorizontalResolutionetVerticalResolutiondéfinissent la résolution horizontale/verticale des images de sortie en pixels par pouce. Par défaut, ces propriétés sont de 300 dpi. - propriété
JpegQualityqui vous permet de spécifier la qualité de la compression JPEG pour les images. - propriété
PageSetupqui spécifie la page size et les margins.
La classe PdfSaveOptions fournit de nombreuses propriétés qui vous permettent de contrôler un large éventail de paramètres et d’améliorer le processus de conversion de SVG au format PDF. Parmi ces propriétés, JpegQuality vous permet de spécifier la qualité de la compression JPEG pour les images. La valeur par défaut est 95, mais vous pouvez définir la valeur souhaitée.
La figure illustre le fichier aspose-options.pdf avec la taille de page spécifiée, la couleur d’arrière-plan, etc.

Fournisseurs de flux de sortie
S’il est nécessaire d’enregistrer des fichiers dans un espace de stockage distant (par exemple, un nuage, une base de données, etc.), vous pouvez mettre en œuvre l’interface ICreateStreamProvider pour contrôler manuellement le processus de création de fichiers. Cette interface est conçue comme un objet de rappel pour créer un flux au début du document/de la page (en fonction du format de sortie) et libérer le flux créé au début après le rendu du document/de la page.
Aspose.HTML for .NET fournit différents types de formats de sortie pour les opérations de rendu. Certains de ces formats produisent un seul fichier de sortie (par exemple, PDF, XPS), d’autres créent plusieurs fichiers (formats d’image – JPG, PNG, etc.)
L’exemple ci-dessous montre comment mettre en œuvre et utiliser votre propre MemoryStreamProvider dans l’application :
1// Implement a custom MemoryStream provider for advanced control over HTML rendering output streams
2
3class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider
4{
5 // List of MemoryStream objects created during the document rendering
6 public List<MemoryStream> Streams { get; } = new List<MemoryStream>();
7
8 public Stream GetStream(string name, string extension)
9 {
10 // This method is called when only one output stream is required, for instance for XPS, PDF or TIFF formats
11 MemoryStream result = new MemoryStream();
12 Streams.Add(result);
13 return result;
14 }
15
16 public Stream GetStream(string name, string extension, int page)
17 {
18 // This method is called when the creation of multiple output streams are required. For instance, during the rendering HTML to list of image files (JPG, PNG, etc.)
19 MemoryStream result = new MemoryStream();
20 Streams.Add(result);
21 return result;
22 }
23
24 public void ReleaseStream(Stream stream)
25 {
26 // Here you can release the stream filled with data and, for instance, flush it to the hard-drive
27 }
28
29 public void Dispose()
30 {
31 // Releasing resources
32 foreach (MemoryStream stream in Streams)
33 stream.Dispose();
34 }
35} 1// Convert SVG to PDF in C# using memory stream
2
3// Create an instance of MemoryStreamProvider
4using MemoryStreamProvider streamProvider = new MemoryStreamProvider();
5
6// Prepare SVG code
7string code = "<svg xmlns='http://www.w3.org/2000/svg'>" +
8 "<circle cx='50' cy='50' r='40' stroke='black' stroke-width='3' fill='red' />" +
9 "</svg>";
10
11// Convert SVG to PDF using the MemoryStreamProvider
12Converter.ConvertSVG(code, ".", new PdfSaveOptions(), streamProvider);
13
14// Get access to the memory stream that contains the result data
15MemoryStream memory = streamProvider.Streams.First();
16memory.Seek(0, SeekOrigin.Begin);
17
18// Flush the result data to the output file
19using (FileStream fs = File.Create(Path.Combine(OutputDir, "stream-provider.pdf")))
20{
21 memory.CopyTo(fs);
22}Vérifiez la qualité de la conversion SVG vers PDF avec notre Convertisseur SVG vers PDF en ligne. Téléchargez, convertissez vos fichiers et obtenez des résultats en quelques secondes. Essayez gratuitement notre convertisseur SVG vers PDF !
Téléchargez la bibliothèque Aspose.HTML for .NET, qui vous permet de convertir avec succès, rapidement et facilement vos documents HTML, MHTML, EPUB, SVG et Markdown vers les formats les plus populaires.
Vous pouvez télécharger les exemples complets et les fichiers de données sur GitHub.
