SVG in PDF konvertieren – C#
Betrachten wir die Konvertierung eines SVG-Dokuments in ein Portable Document Format (PDF) Dateiformat. Mit Aspose.HTML können Sie SVG in das PDF-Format programmatisch konvertieren und haben dabei die volle Kontrolle über eine Vielzahl von Konvertierungsparametern.
In diesem Artikel finden Sie Informationen zur Konvertierung von SVG in PDF unter Verwendung der ConvertSVG()-Methoden der Klasse Converter und zur Anwendung der Parameter PdfSaveOptions und ICreateStreamProvider. Außerdem können Sie einen Online-SVG-Konverter ausprobieren, um die Aspose.HTML-API-Funktionalität zu testen und SVG on the fly zu konvertieren.
Online SVG Konverter
Sie können SVG mit Aspose.HTML API in Echtzeit in andere Formate konvertieren. Bitte laden Sie SVG aus dem lokalen Dateisystem, wählen Sie das Ausgabeformat und führen Sie das Beispiel aus. Die Speicheroptionen sind standardmäßig eingestellt. Sie erhalten das Konvertierungsergebnis sofort als separate Datei.
Wenn Sie SVG in eine PDF-Datei programmatisch konvertieren möchten, lesen Sie bitte die folgenden C#-Codebeispiele.
SVG in PDF mit einer einzigen Codezeile
Die statischen Methoden der Klasse Converter werden in erster Linie als einfachste Möglichkeit zur Konvertierung einer SVG-Datei in verschiedene Formate verwendet. Sie können SVG in Ihrer C#-Anwendung buchstäblich mit einer einzigen Codezeile in PDF konvertieren!
Im folgenden Beispiel nehmen wir eine SVG-Datei in einem lokalen Dateisystem ( shapes.svg), konvertieren und speichern sie im lokalen Dateisystem.
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"));
SVG in PDF umwandeln
Die Konvertierung einer Datei in ein anderes Format mit der Methode ConvertSVG() ist eine Abfolge von Operationen, darunter das Laden und Speichern von Dokumenten. Im folgenden Beispiel erstellen wir eine SVG-Datei aus dem Code.
- Bereiten Sie den Code für ein SVG-Dokument vor.
- Erstellen Sie ein neues PdfSaveOptions-Objekt.
- Verwenden Sie die Methode
ConvertSVG(
content
,baseUri
,options
,outputPath
) der Klasse Converter, um SVG als PDF-Datei zu speichern.
Bitte sehen Sie sich das folgende C# Code Snippet an, das den Prozess der Konvertierung von SVG in PDF mit Aspose.HTML for .NET zeigt.
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);
Sie können die vollständigen Beispiele und Datendateien von GitHub herunterladen.
Optionen speichern
Aspose.HTML ermöglicht die Konvertierung von SVG in PDF mit Standard- oder benutzerdefinierten Speicheroptionen. mit PdfSaveOptions können Sie den Rendering-Prozess anpassen; Sie können die Seitengröße, Ränder, Hintergrundfarbe, Dateiberechtigungen, Css usw. angeben.
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. |
Um mehr über PdfSaveOptions zu erfahren, lesen Sie bitte den Artikel Feinabstimmungskonverter.
SVG in PDF konvertieren mit PdfSaveOptions
Um SVG in PDF mit PdfSaveOptions zu konvertieren, sollten Sie ein paar Schritte befolgen:
- Laden Sie eine SVG-Datei mit einem der SVGDocument()-Konstruktoren der Klasse SVGDocument. ( aspose.svg).
- Erstellen Sie ein neues PdfSaveOptions Objekt und geben Sie die Speicheroptionen an.
- Verwenden Sie die Methode ConvertSVG(), um SVG als PDF-Datei zu speichern. Sie müssen SVGDocument, PdfSaveOptions und den Pfad der Ausgabedatei an die Methode ConvertSVG() für die Konvertierung von SVG in PDF übergeben.
Der folgende C#-Codeausschnitt zeigt, wie Sie SVG mit benutzerdefinierten Speicheroptionen in PDF konvertieren können:
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);
Der
PdfSaveOptions() Konstruktor initialisiert eine Instanz der PdfSaveOptions Klasse, die an die ConvertSVG() Methode übergeben wird. Die ConvertSVG()-Methode nimmt das document
, die options
und den Pfad der Ausgabedatei savePath
entgegen und führt den Konvertierungsvorgang durch.
Im obigen Beispiel verwenden wir:
- die Eigenschaft
BackgroundColor
legt die Farbe fest, mit der der Hintergrund gefüllt wird. Die Standardeinstellung für BackgroundColor ist Transparent. - eigenschaften
HorizontalResolution
undVerticalResolution
, die die horizontale/vertikale Auflösung für die Ausgabe von Bildern in Pixel pro Zoll festlegen. Standardmäßig sind diese Eigenschaften auf 300 dpi eingestellt. - jpegQuality"-Eigenschaft, mit der Sie die Qualität der JPEG-Kompression für Bilder festlegen können.
- eigenschaft
PageSetup
, die die page size und margins angibt.
Die Klasse PdfSaveOptions bietet zahlreiche Eigenschaften, die Ihnen die volle Kontrolle über eine Vielzahl von Parametern geben und den Prozess der Umwandlung von SVG in das PDF-Format verbessern. Eine dieser Eigenschaften ist JpegQuality, mit der Sie die Qualität der JPEG-Kompression für Bilder festlegen können. Der Standardwert ist 95, aber Sie können den gewünschten Wert einstellen.
Die Abbildung zeigt die Datei aspose-options.pdf mit angegebener Seitengröße, Hintergrundfarbe usw.
Output-Stream-Anbieter
Wenn es erforderlich ist, Dateien in einem entfernten Speicher (z. B. Cloud, Datenbank usw.) zu speichern, können Sie die Schnittstelle ICreateStreamProvider implementieren, um die manuelle Kontrolle über den Dateierstellungsprozess zu haben. Diese Schnittstelle ist als Callback-Objekt konzipiert, um einen Stream zu Beginn des Dokuments/der Seite (je nach Ausgabeformat) zu erstellen und den früh erstellten Stream nach dem Rendern des Dokuments/der Seite freizugeben.
Aspose.HTML for .NET bietet verschiedene Arten von Ausgabeformaten für Rendering-Operationen. Einige dieser Formate erzeugen eine einzige Ausgabedatei (z. B. PDF, XPS), andere erzeugen mehrere Dateien (Bildformate - JPG, PNG, usw.).
Das folgende Beispiel zeigt, wie Sie Ihren eigenen MemoryStreamProvider in der Anwendung implementieren und verwenden können:
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}
Überprüfen Sie die Qualität der SVG-zu-PDF-Konvertierung mit unserem Online- SVG zu PDF Konverter. Laden Sie Ihre Dateien hoch, konvertieren Sie sie und erhalten Sie die Ergebnisse in wenigen Sekunden. Testen Sie unseren SVG zu PDF Konverter jetzt kostenlos!
Laden Sie die Bibliothek Aspose.HTML for .NET herunter, mit der Sie Ihre HTML-, MHTML-, EPUB-, SVG- und Markdown-Dokumente erfolgreich, schnell und einfach in die gängigsten Formate konvertieren können.
Sie können die vollständigen Beispiele und Datendateien von GitHub herunterladen.