MHTML in PDF umwandeln – C#
Die Konvertierung von MHTML in PDF ist oft erforderlich, um die Vorteile des PDF-Formats für bestimmte Aufgaben zu nutzen. PDF bietet viele Vorteile, die andere Dateien nicht haben. Zum Beispiel unterstützen viele Programme und Anwendungen PDF-Dokumente; PDF-Dateien sind für den Druck optimiert und eignen sich ideal für die Erstellung physischer Kopien Ihrer Dokumente; Sie können die Sicherheitseinstellungen für PDF-Dateien konfigurieren – Druck, Bearbeitung, elektronische Unterschrift usw. deaktivieren.
In diesem Artikel finden Sie Informationen zur Konvertierung von MHTML nach PDF mit den ConvertMHTML()-Methoden der Klasse Converter und zur Anwendung der Parameter PdfSaveOptions und ICreateStreamProvider.
Online MHTML Konverter
Sie können die Aspose.HTML API-Funktionalität überprüfen und MHTML in Echtzeit konvertieren. Bitte laden Sie eine MHTML-Datei aus dem lokalen Dateisystem, wählen Sie das Ausgabeformat und führen Sie das Beispiel aus. Im Beispiel sind die Speicheroptionen standardmäßig eingestellt. Sie erhalten das Ergebnis sofort als separate Datei.
Wenn Sie MHTML programmatisch in das PDF-Format konvertieren möchten, lesen Sie bitte die folgenden C#-Codebeispiele.
MHTML zu PDF mit zwei Zeilen Code
Die statischen Methoden der Klasse Converter dienen in erster Linie als einfachste Möglichkeit, einen MHTML-Code in verschiedene Formate zu konvertieren. So können Sie zum Beispiel MHTML in Ihrer C#-Anwendung buchstäblich mit zwei Codezeilen in PDF konvertieren!
1// Convert MHTML to PDF using C#
2
3// Open an existing MHTML file for reading
4using FileStream stream = File.OpenRead(DataDir + "sample.mht");
5
6// Invoke the ConvertMHTML() method to convert MHTML to PDF
7Converter.ConvertMHTML(stream, new PdfSaveOptions(), Path.Combine(OutputDir, "convert-by-two-lines.pdf"));
MHTML in PDF umwandeln
Die Verwendung der Methoden Converter.ConvertMHTML() ist der gängigste Weg, um MHTML-Code in verschiedene Formate zu konvertieren. Mit Aspose.HTML können Sie MHTML programmatisch in das PDF-Format konvertieren und haben dabei die volle Kontrolle über eine Vielzahl von Konvertierungsparametern.
Das folgende C# Code Snippet zeigt, wie man MHTML mit Aspose.HTML for .NET in PDF konvertiert.
- Öffnen Sie eine vorhandene MHTML-Datei.
- Erstellen Sie eine Instanz der Klasse PdfSaveOptions.
- Verwenden Sie die Methode ConvertMHTML() der Klasse Converter, um MHTML als PDF-Datei zu speichern. Sie müssen den MHTML-Dateistrom, die PdfSaveOptions und den Pfad der Ausgabedatei an die Methode ConvertMHTML() für die Konvertierung von MHTML in PDF übergeben.
In diesem Beispiel verwenden wir die Methode OpenRead() der Klasse System.IO.FileStream, um Dateien aus dem Dateisystem unter dem angegebenen Pfad zu öffnen und zu lesen.
1// Convert MHTML to PDF in C#
2
3// Open an existing MHTML file for reading
4using FileStream stream = File.OpenRead(DataDir + "sample.mht");
5
6// Prepare a path to save the converted file
7string savePath = Path.Combine(OutputDir, "sample-output.pdf");
8
9// Create an instance of PdfSaveOptions
10PdfSaveOptions options = new PdfSaveOptions();
11
12// Call the ConvertMHTML() method to convert MHTML to PDF
13Converter.ConvertMHTML(stream, options, savePath);
Optionen speichern
Aspose.HTML ermöglicht die Umwandlung von MHTML in PDF unter Verwendung von Standard- oder benutzerdefinierten Speicheroptionen. mit PdfSaveOptions können Sie den Rendering-Prozess anpassen; Sie können die page size, margins, file permissions, CSS media-type 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.
MHTML in PDF umwandeln mit PdfSaveOptions
Um MHTML in PDF mit PdfSaveOptions zu konvertieren, sollten Sie einige Schritte befolgen:
- Öffnen Sie eine vorhandene MHTML-Datei.
- Erstellen Sie ein neues PdfSaveOptions-Objekt und geben Sie Speicheroptionen an.
- Verwenden Sie die Methode ConvertMHTML(), um MHTML als PDF-Datei zu speichern. Sie müssen den MHTML-Dateistrom, PdfSaveOptions und den Pfad der Ausgabedatei an die Methode ConvertMHTML() für die Konvertierung von MHTML in PDF übergeben.
Das folgende Beispiel zeigt, wie Sie PdfSaveOptions verwenden und eine PDF-Datei mit benutzerdefinierten Speicheroptionen erstellen:
1// Convert MHTML to PDF in C# with custom settings
2
3// Open an existing MHTML file for reading
4using FileStream stream = File.OpenRead(DataDir + "sample.mht");
5
6// Prepare a path to save the converted file
7string savePath = Path.Combine(OutputDir, "sample-options.pdf");
8
9// Create an instance of PdfSaveOptions. Set up the page-size and change the background color to AliceBlue
10PdfSaveOptions options = new PdfSaveOptions()
11{
12 PageSetup =
13 {
14 AnyPage = new Page()
15 {
16 Size = new Aspose.Html.Drawing.Size(Length.FromPixels(3000), Length.FromPixels(1000))
17 }
18 },
19 BackgroundColor = System.Drawing.Color.AliceBlue
20};
21
22// Call the ConvertMHTML() method to convert MHTML to PDF
23Converter.ConvertMHTML(stream, options, savePath);
Im Beispiel verwenden wir die Methode OpenRead() der Klasse System.IO.FileStream, um Quelldateien aus dem Dateisystem unter dem angegebenen Pfad zu öffnen und zu lesen. Der Konstruktor
PdfSaveOptions() initialisiert eine Instanz der Klasse PdfSaveOptions, die an die Methode ConvertMHTML() übergeben wird. Die Methode ConvertMHTML() nimmt die Parameter stream
, options
und den Pfad der Ausgabedatei savePath
entgegen und führt die Konvertierung durch. Die PdfSaveOptions-Klasse bietet zahlreiche Eigenschaften, die Ihnen die volle Kontrolle über eine breite Palette von Parametern geben und den Prozess der Konvertierung von MHTML in das PDF-Format verbessern.
Im obigen Beispiel verwenden wir:
- eigenschaft
BackgroundColor
, die die Farbe angibt, mit der der Hintergrund gefüllt wird. Die Standardeinstellung für BackgroundColor ist Transparent. - eigenschaft
PageSetup
, die die page size in Pixel angibt.
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 zur Erstellung eines Streams am Anfang des Dokuments/der Seite (je nach Ausgabeformat) und zur Freigabe des früh erstellten Streams nach dem Rendern des Dokuments/der Seite konzipiert.
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}
Der folgende C#-Code zeigt, wie die MemoryStreamProvider-Klasse und die Aspose.HTML for .NET-Bibliothek verwendet werden, um MHTML in PDF zu konvertieren und das Ergebnis in einer Datei zu speichern.
1// Convert MHTML to PDF in C# using memory stream
2
3// Create an instance of MemoryStreamProvider
4using MemoryStreamProvider streamProvider = new MemoryStreamProvider();
5
6// Open an existing MHTML file for reading
7using FileStream stream = File.OpenRead(DataDir + "sample.mht");
8
9// Prepare a path to save the converted file
10string savePath = Path.Combine(OutputDir, "stream-provider.pdf");
11
12// Convert MHTML to PDF by using the MemoryStreamProvider class
13Converter.ConvertMHTML(stream, new PdfSaveOptions(), streamProvider);
14
15// Get access to the memory stream that contains the result data
16MemoryStream memory = streamProvider.Streams.First();
17memory.Seek(0, SeekOrigin.Begin);
18
19// Flush the result data to the output file
20using (FileStream fs = File.Create(savePath))
21{
22 memory.CopyTo(fs);
23}
Sie können die vollständigen Beispiele und Datendateien von GitHub herunterladen.
Aspose.HTML bietet einen kostenlosen Online- MHTML zu PDF Konverter, der MHTML in PDF-Dateien mit hoher Qualität, einfach und schnell umwandelt. Einfach hochladen, Ihre Dateien konvertieren und in wenigen Sekunden Ergebnisse erhalten!