using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
ActivePDF DocConverter Tutorial und Vergleich mit IronPDF
Kannapat Udonpant
23. September 2021
Teilen Sie:
Das "ActivePDF Toolkit" ist eine Softwarekomponente für die Arbeit mit PDF-Dateien(einschließlich der Erstellung von PDF-Dateien aus verschiedenen Quellen) und Einstellung seiner Eigenschaften(wie Header, Footer, Margin oder WaterMark).
ironPDF" ist einC# PDF-Bibliothek die diese Funktionen ebenfalls zu einem wettbewerbsfähigen Preis anbietet.
Hier gehen wir die Funktionen, Codebeispiele und Schritt-für-Schritt-Aktionen für die Verwendung beider Softwarekomponenten in einem .NET Visual Studio-Projekt durch, damit Sie selbst entscheiden können, was für Ihre Anwendung am besten geeignet ist.
Iron Software ist ein marktführender Anbieter von Komponenten, derIronPDF für die Arbeit mit PDF-Dateien zu verwenden. Eine allumfassende Möglichkeit, PDF-Dateien aus verschiedenen Formaten zu erzeugen und alle Eigenschaften programmatisch einzustellen. Es wird von Entwicklern wegen der konsistenten, zuverlässigen und genauen Ausgabe von PDF-Dateien mit nur wenigen Codezeilen bevorzugt.
IronPDF ist für C#, .NET, VB, ASPX, ASP.NET, MVC und .NET Core konzipiert. Sie unterstützt Visual Studio, NuGet, Linux, Azure, Docker und mehr.
Über das ActivePDF-Toolkit
ActivePDF ist ein Softwareunternehmen, das viele Komponenten für den Umgang mit PDF-Dateien anbietet. Anders als die Einzelkomponente IronPDF bietet ActivePDF verschiedene Lösungen für PDF-Dateien. Um zum Beispiel die Größe von PDF-Dateien zu reduzieren, können Sie "ActivePDF Compressor" verwenden. AnpDFs aus HTML-Quellen erstellenverwenden Sie ActivePDF WebGrabber.
In diesem Artikel werden wir ActivePDF WebGrabber zum Vergleich mit IronPDF heranziehen und einen Blick darauf werfen:
ActivePDF WebGrabber zur Erstellung von PDFs
ActivePDF WebGrabber ist eine separate Komponente von ActivePDF, die speziell dazu dient, PDF-Dateien aus HTML-Quellen wie URL, HTML-Datei oder HTML-String zu erzeugen. Es bietet auch die Funktionen zum Einstellen von Seiteneigenschaften wie Kopfzeile, Fußzeile, Rand, Wasserzeichen oder Buchzeichen, um PDF-Dateien entsprechend unseren Anforderungen zu erstellen.
Vergleich
1. ActivePDF vs. IronPDF Vergleichstabelle
Werfen wir einen Blick auf den direkten Vergleich der beiden Komponenten.
IronPDF
ActivePDF
IronPDF wandelt HTML-Quellen in PDF-Dateien um.
ActivePDF wandelt HTML-Quellen in PDF-Dateien um.
IronPDF unterstützt .NET Core.
ActivePDF unterstützt .NET Core nicht.
IronPDF unterstützt .NET 4.0 oder höher.
ActivePDF unterstützt .NET 4.6.2 oder höher.
IronPDF unterstützt macOS.
ActivePDF unterstützt macOS nicht.
IronPDF kann CSS anwenden, um WaterMark-Eigenschaften festzulegen.
ActivePDF unterstützt kein CSS zum Setzen von WaterMark-Eigenschaften.
IronPDF kann die Papierausrichtung von PDF-Dateien festlegen.
ActivePDF kann die Papierausrichtung von PDF-Dateien festlegen.
IronPDF bietet die RenderDelay funktion, um die PDF-Konvertierung zu verzögern.
ActivePDF bietet die TimeoutSpan funktion, um die PDF-Konvertierung zu verzögern.
IronPDF bietet vordefinierte Funktionen zum Festlegen von Kopf- und Fußzeilen.
ActivePDF erfordert die Einstellung von Kopf- und Fußzeilen durch HTML und CSS.
IronPDF bietet eine vordefinierte Funktion zum Zeichnen einer horizontalen Linie zur Trennung von Inhalten.
ActivePDF bietet keine Zeile zur Trennung von Kopf- und Fußzeilen.
Um die PDF-Datei zu speichern, können wir das Verzeichnis und den Dateinamen in einer Zeile angeben.
Wir müssen das Dateiverzeichnis und den Dateinamen separat festlegen.
Sie müssen weniger Codezeilen mit einer einfachen Programmierstruktur schreiben.
Sie müssen viele Codezeilen schreiben.
Die Lizenz beginnt bei $749.
Die Lizenz beginnt bei 80.
Schritt 1: Installation
2. So installieren Sie IronPDF
Sie können die IronPDF-Bibliothek auf zwei verschiedene Arten zu Ihrem Projekt hinzufügen, ohne dass es einen Unterschied macht, welche Sie wählen.
NuGet-Paketmanager
Öffnen Sie den NuGet Package Manager in Ihrem Visual Studio Projekt.
Suchen Sie nach IronPDF, und installieren Sie es.
Alternativ dazu:
Gehen Sie zu tools
Wählen Sie die "Paketmanager-Konsole"
Führen Sie den folgenden Befehl aus:
Install-Package IronPdf
IronPDF.dll manuell herunterladen
Wir können auchironPDF.dll herunterladenund fügen Sie dann den entsprechenden Verweis in das Projekt ein.
Wenn Sie auf IronPDF zugreifen können, indem Sie den Namespace using IronPdf; schreiben, bedeutet dies, dass IronPDF erfolgreich in Ihr Projekt importiert wurde und bereit zur Verwendung ist.
Wie wird WebGrabber installiert?
WebGrabber-install.exe herunterladenund wählen Sie Datei herunterladen. Sobald die Datei heruntergeladen ist, doppelklicken Sie auf die heruntergeladene Datei. Fordern Sie dann bei ActivePDF einen Aktivierungsschlüssel für die Verwendung mit dem folgenden 15-Tage-Testschlüssel an: 001-AEALX-LC6Z5-7YD95-S3D8J-3LR25.
Nach erfolgreicher Installation wechseln Sie in das folgende Verzeichnis:
c:\Programmdateien\ActivePDF\WebGrabber\bin\
In diesem Verzeichnis finden Sie die Datei "APWebGrabber.Net45.dll". Fügen Sie ihren Verweis in Ihr Visual Studio Projekt ein.
Wenn Sie nun auf WebGrabber zugreifen können, indem Sie using APWebGrabber; schreiben, bedeutet dies, dass ActivePDF WebGrabber erfolgreich in Ihr Projekt importiert wurde und Sie es verwenden können.
ActivePDF-Dokumentation ist verfügbar, um mehr über die Installation von ActivePDF WebGrabber zu erfahren.
Anleitungen Tutorials
IronPDF und WebGrabber verwenden
Wir haben die Einführung dieser beiden Komponenten und ihre Installationsprozesse gesehen und werden nun den Vergleich beginnen, indem wir verschiedene Aufgaben mit beiden durchführen. So können wir die Programmierstruktur beider Programme verstehen und entscheiden, welches für unsere Projekte am besten geeignet ist. Zum besseren Verständnis werden wir in jeder Aufgabe einen spezifischen Anwendungsfall ausführen und den zur Implementierung verwendeten Code bereitstellen.
3. HTML-String in PDF-Datei umwandeln
Im ersten Vergleich nehmen wir einen Anwendungsfall, bei dem wir eine PDF-Datei anhand einer HTML-Zeichenkette erstellen und am Zielspeicherort speichern müssen. Zunächst beginnen wir damit, diesen Anwendungsfall mit IronPDF zu implementieren:
3.1. HTML-Zeichenfolge mit IronPDF
/**
HTML String to PDF
anchor-html-string-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//HTML Source
string html = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> ";
//convert HTML string to PDF file
using var PDF = converter.RenderHtmlAsPdf(html);
//Save the file
PDF.SaveAs("E:/sample.pdf");
}
/**
HTML String to PDF
anchor-html-string-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//HTML Source
string html = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> ";
//convert HTML string to PDF file
using var PDF = converter.RenderHtmlAsPdf(html);
//Save the file
PDF.SaveAs("E:/sample.pdf");
}
'''
'''HTML String to PDF
'''anchor-html-string-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create rendering converter
Dim converter = New ChromePdfRenderer()
'HTML Source
Dim html As String = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> "
'convert HTML string to PDF file
Dim PDF = converter.RenderHtmlAsPdf(html)
'Save the file
PDF.SaveAs("E:/sample.pdf")
End Sub
Ausgang:
Der obige Code erstellt eine PDF-Datei "sample.pdf" auf dem lokalen Datenträger "E:" und zeigt einen Screenshot davon:
3.2. HTML-Zeichenfolge mit ActivePDF
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//HTML Source
string html = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>";
//assign source html to WebGrabber
wg.CreateFromHTMLText = html;
//specify file directory
wg.OutputDirectory = "E:/";
// file name
wg.NewDocumentName = "sample.pdf";
//convert source HTML to PDF file
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//HTML Source
string html = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>";
//assign source html to WebGrabber
wg.CreateFromHTMLText = html;
//specify file directory
wg.OutputDirectory = "E:/";
// file name
wg.NewDocumentName = "sample.pdf";
//convert source HTML to PDF file
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instantiate Object
Dim wg As New WebGrabber()
'HTML Source
Dim html As String = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>"
'assign source html to WebGrabber
wg.CreateFromHTMLText = html
'specify file directory
wg.OutputDirectory = "E:/"
' file name
wg.NewDocumentName = "sample.pdf"
'convert source HTML to PDF file
wg.ConvertToPDF()
End Sub
Der folgende Screenshot zeigt die mit diesem Code neu erzeugte Datei "sample.pdf":
3.3. Unterschied zwischen IronPDF und ActivePDF
Weniger Codezeilen mit IronPDF
Die von IronPDF erzeugte Datei ist besser lesbar, da die Standardränder verwendet werden
4. HTML-Datei in PDF-Datei konvertieren
In diesem Vergleich nehmen wir den Anwendungsfall an, dass wir eine PDF-Datei aus einer HTML-Datei mit dem Namen "myHtmlFile.html" generieren müssen, die im Verzeichnis "E:/" existiert und den folgenden HTML- und CSS-Code enthält:
Nun werden wir die Datei "myHtmlFile.html" mit Hilfe beider Komponenten in eine PDF-Datei umwandeln. Beginnen wir mit IronPDF.
4.1. HTML-Datei mit IronPDF
/**
HTML File to PDF
anchor-html-file-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new IronPdf.ChromePdfRenderer();
//render html file to pdf
using var PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html");
//save to target location
PDF.SaveAs("E:/Sample.pdf");
}
/**
HTML File to PDF
anchor-html-file-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new IronPdf.ChromePdfRenderer();
//render html file to pdf
using var PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html");
//save to target location
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''HTML File to PDF
'''anchor-html-file-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create rendering converter
Dim converter = New IronPdf.ChromePdfRenderer()
'render html file to pdf
Dim PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html")
'save to target location
PDF.SaveAs("E:/Sample.pdf")
End Sub
Der folgende Screenshot zeigt die mit dem obigen Code neu erzeugte Datei "Sample.pdf":
Wir können sehen, dass die HTML-Seite "myHtmlFile.html" erfolgreich in die PDF-Datei "Sample.pdf" konvertiert wurde und die CSS-Stile ebenfalls angewendet wurden.
IronPDF-Dokumentation lesen um mehr darüber zu erfahren, wie wir IronPDF in unserem .NET-Projekt verwenden können.
Lassen Sie uns die gleiche Aufgabe mit ActivePDF WebGrabber durchführen.
4.2. HTML-Datei mit ActivePDF
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//specify file path to be converted
wg.URL = "E:/myHtmlFile.html";
//specify the directory for newly generated file
wg.OutputDirectory = "E:/";
//newly generated file name
wg.NewDocumentName = "Sample.pdf";
//convert HTML file to PDF
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//specify file path to be converted
wg.URL = "E:/myHtmlFile.html";
//specify the directory for newly generated file
wg.OutputDirectory = "E:/";
//newly generated file name
wg.NewDocumentName = "Sample.pdf";
//convert HTML file to PDF
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instantiate Object
Dim wg As New WebGrabber()
'specify file path to be converted
wg.URL = "E:/myHtmlFile.html"
'specify the directory for newly generated file
wg.OutputDirectory = "E:/"
'newly generated file name
wg.NewDocumentName = "Sample.pdf"
'convert HTML file to PDF
wg.ConvertToPDF()
End Sub
Die folgende Bildschirmabbildung zeigt die mit dem obigen Code neu erzeugte Datei "Sample.pdf":
4.3. Unterschied zwischen IronPDF und ActivePDF
Nur 3 Zeilen Code mit IronPDF
IronPDF-Datei ist etwas sauberer/attraktiver
5. URL in PDF-Datei umwandeln
Nehmen wir an, wir haben eine URL https://yandex.com/ und möchten eine PDF-Datei der entsprechenden Webseite erstellen. Hierfür bieten beide Komponenten eine Funktion. Zunächst werden wir sehen, wie IronPDF dies bewerkstelligen kann.
5.1. URL mit IronPDF
/**
URL to PDF
anchor-url-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//Specify URL
using var PDF = converter.RenderUrlAsPdf("https://yandex.com/");
//Save the file
PDF.SaveAs("E:/Sample.pdf");
}
/**
URL to PDF
anchor-url-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//Specify URL
using var PDF = converter.RenderUrlAsPdf("https://yandex.com/");
//Save the file
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''URL to PDF
'''anchor-url-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create rendering converter
Dim converter = New ChromePdfRenderer()
'Specify URL
Dim PDF = converter.RenderUrlAsPdf("https://yandex.com/")
'Save the file
PDF.SaveAs("E:/Sample.pdf")
End Sub
Der folgende Screenshot zeigt die mit dem obigen Code neu erzeugte Datei "Sample.pdf"
Sie können die Webseite derURL-Beispiel zu vergleichen und zu sehen, wie genau die IronPDF-Datei übereinstimmt.
Jetzt werden wir die gleiche Aufgabe mit ActivePDF WebGrabber durchführen.
5.2. URL mit ActivePDF
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//specify URL
wg.URL = "https://yandex.com/";
//specify the directory for newly generated file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert specified URL webpage to PDF
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//specify URL
wg.URL = "https://yandex.com/";
//specify the directory for newly generated file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert specified URL webpage to PDF
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instantiate Object
Dim wg As New WebGrabber()
'specify URL
wg.URL = "https://yandex.com/"
'specify the directory for newly generated file
wg.OutputDirectory = "E:/"
'specify file name
wg.NewDocumentName = "Sample.pdf"
'convert specified URL webpage to PDF
wg.ConvertToPDF()
End Sub
Der folgende Screenshot zeigt die mit dem obigen Code neu erzeugte Datei "Sample.pdf":
5.3. Unterschied zwischen IronPDF und ActivePDF
IronPDF hat eine einfachere Struktur zur Erzeugung von PDF-Dateien
Nur drei Zeilen Code
IronPDF passt besser zur Website
6. Wasserzeichen in PDF-Dateien erstellen
In diesem Vergleich erstellen wir eine PDF-Datei mit einer HTML-Zeichenfolge und fügen dann ein Wasserzeichen in der Mitte der Seite ein. Beginnen wir mit IronPDF.
6.1. Wasserzeichen mit IronPDF
IronPDF bietet die folgende Funktion zum Hinzufügen von WaterMark:
WasserzeichenSeite(Wasserzeichen HTML String, PageIndexToWaterMark, WaterMarkLocation,Opacity, Rotation, Hyperlink)
Wir können die WaterMarkLocation verwenden, um das Wasserzeichen auf die folgenden Positionen zu setzen:
ObenLinks
TopCenter
TopRight
MitteLinks
MitteZentrum
MitteRechts
UntenLinks
BottomCenter
UntenRechts
Sehen wir uns an, wie man die oben genannten Funktionen zum Setzen des Wasserzeichens verwendet:
/**
Watermark PDF
anchor-watermark-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//source html string
string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
//add above string as PDF file content
using var PDF = converter.RenderHtmlAsPdf(html);
//HTML string for WaterMark
string WMStr = "<h1 style='color:red'>WaterMark</h1>";
//add WaterMark
PDF.WatermarkPage(WMStr, 0, PdfDocument.WaterMarkLocation.MiddleCenter, 100, -45, "");
//save the document
PDF.SaveAs("E:/Sample.pdf");
}
/**
Watermark PDF
anchor-watermark-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//source html string
string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
//add above string as PDF file content
using var PDF = converter.RenderHtmlAsPdf(html);
//HTML string for WaterMark
string WMStr = "<h1 style='color:red'>WaterMark</h1>";
//add WaterMark
PDF.WatermarkPage(WMStr, 0, PdfDocument.WaterMarkLocation.MiddleCenter, 100, -45, "");
//save the document
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''Watermark PDF
'''anchor-watermark-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create rendering converter
Dim converter = New ChromePdfRenderer()
'source html string
Dim html As String = "<h1 style='text-align:center'>WaterMark Example</h1>"
'add above string as PDF file content
Dim PDF = converter.RenderHtmlAsPdf(html)
'HTML string for WaterMark
Dim WMStr As String = "<h1 style='color:red'>WaterMark</h1>"
'add WaterMark
PDF.WatermarkPage(WMStr, 0, PdfDocument.WaterMarkLocation.MiddleCenter, 100, -45, "")
'save the document
PDF.SaveAs("E:/Sample.pdf")
End Sub
Der folgende Screenshot zeigt die mit dem obigen Code neu erzeugte Datei "Sample.pdf":
Wir können jeden Typ von WaterMark hinzufügen und seine Eigenschaften per CSS festlegen. Jetzt werden wir die gleiche Aufgabe mit ActivePDF WebGrabber durchführen.
6.2. Wasserzeichen mit IronPDF ActivePDF
ActivePDF WebGrabber bietet im Gegensatz zu IronPDF keine spezielle Funktion für WaterMark. Aber wir können die Funktion `AddStampText()als Abhilfe für diesen Zweck dienen:
stempelText Hinzufügen(float x, float y, string stampText);`
Float x, um die x-Koordinate für den Ursprung des neuen Textstempels festzulegen.
Float y, um die y-Koordinate für den Ursprung des neuen Textstempels festzulegen.
stampText ist der eigentliche Text des Textstempels.
Hinweis: ActivePDF WebGrabber unterstützt kein CSS-Styling für TextStamp. Wir müssen es mit anderen Funktionen wie folgt einstellen:
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//HTML source for Page content
string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
//assign page content source
wg.CreateFromHTMLText = html;
//add text stamp as WaterMark
wg.AddStampText(270.0f, 350.0f, "WaterMark");
//specify WaterMark's font size
wg.StampFontSize = 20;
//specify WaterMark's font family
wg.StampFont = "Times New Roman";
//specify WaterMark's opacity
wg.StampFontTransparency = 1f;
//specify WaterMark's rotation
wg.StampRotation = 45.0f;
//specify WaterMark's color
wg.StampColorNET = new ADK.PDF.Color() { Red = 255, Green = 0, Blue = 0, Gray = 0 };
//specify directory for newly created file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert above sources to PDF file
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//HTML source for Page content
string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
//assign page content source
wg.CreateFromHTMLText = html;
//add text stamp as WaterMark
wg.AddStampText(270.0f, 350.0f, "WaterMark");
//specify WaterMark's font size
wg.StampFontSize = 20;
//specify WaterMark's font family
wg.StampFont = "Times New Roman";
//specify WaterMark's opacity
wg.StampFontTransparency = 1f;
//specify WaterMark's rotation
wg.StampRotation = 45.0f;
//specify WaterMark's color
wg.StampColorNET = new ADK.PDF.Color() { Red = 255, Green = 0, Blue = 0, Gray = 0 };
//specify directory for newly created file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert above sources to PDF file
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instantiate Object
Dim wg As New WebGrabber()
'HTML source for Page content
Dim html As String = "<h1 style='text-align:center'>WaterMark Example</h1>"
'assign page content source
wg.CreateFromHTMLText = html
'add text stamp as WaterMark
wg.AddStampText(270.0F, 350.0F, "WaterMark")
'specify WaterMark's font size
wg.StampFontSize = 20
'specify WaterMark's font family
wg.StampFont = "Times New Roman"
'specify WaterMark's opacity
wg.StampFontTransparency = 1F
'specify WaterMark's rotation
wg.StampRotation = 45.0F
'specify WaterMark's color
wg.StampColorNET = New ADK.PDF.Color() With {
.Red = 255,
.Green = 0,
.Blue = 0,
.Gray = 0
}
'specify directory for newly created file
wg.OutputDirectory = "E:/"
'specify file name
wg.NewDocumentName = "Sample.pdf"
'convert above sources to PDF file
wg.ConvertToPDF()
End Sub
Der folgende Screenshot zeigt die neu erstellte Datei "Sample.pdf".
6.3. Unterschied zwischen IronPDF und ActivePDF
IronPDF macht es wirklich einfach, ein Wasserzeichen hinzuzufügen
IronPDF bietet direkte Funktionen zum Einstellen der Wasserzeicheneigenschaften
ActivePDF WebGrabber hat eine komplexe Programmierstruktur mit vielen Codezeilen, die es zu umgehen gilt
7. Ränder auf PDF-Seite festlegen
Nehmen wir an, wir haben eine einfache Webseite mit dem Namen myHtmlFile.html in unserem Local Disk E, die 100% breit ist und einen border mit black Farbe hat. Wir werden daraus eine PDF-Datei erzeugen und den Seitenrand festlegen. Beginnen wir mit IronPDF.
7.1. Ränder mit IronPDF
Um die Ränder einzustellen, stellt IronPDF die Klasse "ChromePdfRenderOptions" zur Verfügung, die die folgenden Eigenschaften hat:
MarginLeft, um den Rand von der linken Seite der Seite aus festzulegen.
MarginRight, um den Rand am rechten Rand der Seite festzulegen.
MarginTop, um den Abstand vom oberen Rand der Seite festzulegen.
MarginBottom, um einen Abstand vom unteren Rand der Seite festzulegen.
Hinweis: IronPDF setzt standardmäßig einen 20-mm-Rand von links, oben, rechts und unten, um die Lesbarkeit der Seite zu verbessern. Wir können ihn auf "0 mm" setzen, wenn wir ihn nicht brauchen.
/**
Set Margins
anchor-margins-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create html to PDF converter
var converter = new ChromePdfRenderer();
//specify left Margin
converter.RenderingOptions.MarginLeft = 50;
//specify top Margin
converter.RenderingOptions.MarginTop = 40;
//render html file to PDF
using var PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html");
//save to the target location
PDF.SaveAs("E:/Sample.pdf");
}
/**
Set Margins
anchor-margins-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create html to PDF converter
var converter = new ChromePdfRenderer();
//specify left Margin
converter.RenderingOptions.MarginLeft = 50;
//specify top Margin
converter.RenderingOptions.MarginTop = 40;
//render html file to PDF
using var PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html");
//save to the target location
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''Set Margins
'''anchor-margins-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create html to PDF converter
Dim converter = New ChromePdfRenderer()
'specify left Margin
converter.RenderingOptions.MarginLeft = 50
'specify top Margin
converter.RenderingOptions.MarginTop = 40
'render html file to PDF
Dim PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html")
'save to the target location
PDF.SaveAs("E:/Sample.pdf")
End Sub
Der folgende Screenshot zeigt die mit dem obigen Code neu erzeugte Datei "Sample.pdf":
Die PDF-Seite hat einen linken Rand von 50 mm, einen oberen Rand von 40 mm und einen linken Rand von 20 mm, was der Standardeinstellung entspricht. Wir können sehen, wie einfach es ist, den Rand einer beliebigen Seite einzustellen, indem wir die Klasse ChromePdfRenderOptions von IronPDF verwenden.
Lesen Sie mehr überEinstellungen für die PDF-Erzeugung für weitere Details: wie man mit Rändern und anderen Eigenschaften der PDF-Datei arbeitet.
Jetzt werden wir die Seite Margin mit ActivePDF WebGrabber einstellen.
7.2. Ränder mit ActivePDF
Um die Seitenränder zu setzen, bietet ActivePDF WebGrabber die Funktion `SetMargins()funktion, und wir können sie wie folgt verwenden:
Mit dieser Funktion legen wir den Seitenrand fest:
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber()
//specify source HTML file path
wg.URL = "E:/myHtmlFile.html";
//Margins
wg.SetMargins(1, 0, 1.5f, 0);
//specify directory for newly created file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert HTML file to PDF
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber()
//specify source HTML file path
wg.URL = "E:/myHtmlFile.html";
//Margins
wg.SetMargins(1, 0, 1.5f, 0);
//specify directory for newly created file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert HTML file to PDF
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instantiate Object
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: WebGrabber wg = new WebGrabber() wg.URL = "E:/myHtmlFile.html";
New WebGrabber() wg.URL = "E:/myHtmlFile.html"
Dim wg As New WebGrabber() wg.URL
'Margins
wg.SetMargins(1, 0, 1.5F, 0)
'specify directory for newly created file
wg.OutputDirectory = "E:/"
'specify file name
wg.NewDocumentName = "Sample.pdf"
'convert HTML file to PDF
wg.ConvertToPDF()
End Sub
Der folgende Screenshot zeigt die mit dem obigen Code neu erzeugte Datei "Sample.pdf":
Wir können sehen, dass die PDF-Seite einen Rand von 1,5 f auf der linken Seite und 1 f am oberen Rand hat. Mit diesen beiden Komponenten können wir die Seitenränder ganz einfach nach unseren Anforderungen einstellen.
In diesem Vergleich werden wir sehen, wie man die Kopf- und Fußzeilen einer PDF-Datei festlegt. Wir werden die von beiden Komponenten bereitgestellten Funktionen und Techniken verwenden, mit denen wir programmgesteuert benutzerdefinierte Kopf- und Fußzeilen auf PDF-Seiten drucken können.
8.1. Kopf- und Fußzeilen mit IronPDF
IronPDF stellt die folgenden Eigenschaften zur Verfügung, mit denen sowohl Kopf- als auch Fußzeilen festgelegt werden können:
LeftText : legt den Text für die Kopf- oder Fußzeile auf der linken Seite fest.
CenterText : druckt den Text der Kopf- oder Fußzeile in der Mitte.
RightText : setzt Kopf- oder Fußzeilentext auf der linken Seite.
FontFamily : legt die Schriftart für den Kopf- oder Fußzeilentext fest.
FontSize : legt die Schriftgröße von Kopf- oder Fußzeilentext fest.
Abstand : legt den Abstand zwischen dem Seiteninhalt und der Kopf- oder Fußzeile fest.
DrawDividerLine: zeichnet eine horizontale Linie, die den Seiteninhalt von der Kopf- oder Fußzeile trennt.
Wir können die folgenden vordefinierten Funktionen von IronPDF in geschweiften Klammern verwenden{} für Kopfzeile oder Fußzeile:
{seite} Es wird die aktuelle Seitenzahl gedruckt.
{gesamt-Seiten} wird verwendet, um die Gesamtzahl der Seiten einer PDF-Datei zu drucken.
{url} wird verwendet, um die URL der gerenderten PDF-Datei zu drucken.
{datum} Es wird verwendet, um das heutige Datum zu drucken.
{zeit} Es wird die aktuelle Uhrzeit ausgedruckt.
{html-title} wird verwendet, um den Titel der gerenderten HTML-Datei zu drucken.
{pdf-Titel} legt den Titel des Dokuments fest.
Schauen wir uns das folgende Beispiel an, in dem wir die Kopf- und Fußzeilen der Seite mit Hilfe der oben genannten Funktionen einstellen werden:
/**
Set Header Footers
anchor-headers-and-footers-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create html to PDF converter
var converter = new IronPdf.ChromePdfRenderer();
//Page Content source
string html = "<h1 style='text-align:center;'>Page Content</h2>";
//Assign source to converter
using var PDF = converter.RenderHtmlAsPdf(html);
//Add Header settings
converter.RenderingOptions.TextHeader = new TextHeaderFooter()
{
LeftText = "Header Text",
RightText = "{date} {time}",
DrawDividerLine=true,
FontSize=13
};
//Add Footer settings
converter.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
FontSize = 12
};
//save to target location
PDF.SaveAs("E:/Sample.pdf");
}
/**
Set Header Footers
anchor-headers-and-footers-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create html to PDF converter
var converter = new IronPdf.ChromePdfRenderer();
//Page Content source
string html = "<h1 style='text-align:center;'>Page Content</h2>";
//Assign source to converter
using var PDF = converter.RenderHtmlAsPdf(html);
//Add Header settings
converter.RenderingOptions.TextHeader = new TextHeaderFooter()
{
LeftText = "Header Text",
RightText = "{date} {time}",
DrawDividerLine=true,
FontSize=13
};
//Add Footer settings
converter.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
FontSize = 12
};
//save to target location
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''Set Header Footers
'''anchor-headers-and-footers-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create html to PDF converter
Dim converter = New IronPdf.ChromePdfRenderer()
'Page Content source
Dim html As String = "<h1 style='text-align:center;'>Page Content</h2>"
'Assign source to converter
Dim PDF = converter.RenderHtmlAsPdf(html)
'Add Header settings
converter.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.LeftText = "Header Text",
.RightText = "{date} {time}",
.DrawDividerLine=True,
.FontSize=13
}
'Add Footer settings
converter.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.RightText = "Page {page} of {total-pages}",
.FontSize = 12
}
'save to target location
PDF.SaveAs("E:/Sample.pdf")
End Sub
Der folgende Screenshot zeigt die mit dem obigen Code neu erzeugte Datei "Sample.pdf":
Wir können sehen, dass
der "Kopfzeilentext" wird auf der linken Seite der Kopfzeile gedruckt.
die "Datumszeit" wird auf der rechten Seite der Kopfzeile gedruckt.
Eine horizontale Linie trennt die Überschrift vom Seiteninhalt.
seite AktuelleSeite von InsgesamtSeiten" auf der rechten Seite der Fußzeile.
Lassen Sie uns nun ActivePDF WebGrabber verwenden, um Kopf- und Fußzeilen zu setzen:
8.2. Kopf- und Fußzeilen mit ActivePDF
ActivePDF WebGrabber stellt die Eigenschaften HeaderHTML und FooterHTML zur Verfügung, um die Kopf- bzw. Fußzeile zu setzen. Der rohe HTML-Code wird an diese Eigenschaften als Kopf- oder Fußzeile der Seite übergeben. Im Gegensatz zu IronPDF stellt ActivePDF WebGrabber keine vordefinierten Funktionen zur Verfügung, um die Ausrichtung von Kopf- und Fußzeilen festzulegen. Daher müssen wir sie mit Hilfe von HTML- und CSS-Eigenschaften wie folgt festlegen:
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//Page content source
string html = @"<h1 style='text-align:center;'>Page Content</h2>";
//assign above source to WebGrabber
wg.CreateFromHTMLText = html;
//specify Footer height
wg.FooterHeight = 0.5f;
//Add Footer setting
wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>";
//create object for datetime
DateTime now = DateTime.Now;
//specify header height
wg.HeaderHeight = 0.5f;
//Add Header setting
wg.HeaderHTML = "<div style='float: left;'>Header Text</div>";
//append Header settings
wg.HeaderHTML = $"<div style='float: right;'>{DateTime.Now.ToShortDateString()} {DateTime.Now.ToShortTimeString()}</div>";
//specify directory for newly created file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert above sources to PDF file
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//Page content source
string html = @"<h1 style='text-align:center;'>Page Content</h2>";
//assign above source to WebGrabber
wg.CreateFromHTMLText = html;
//specify Footer height
wg.FooterHeight = 0.5f;
//Add Footer setting
wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>";
//create object for datetime
DateTime now = DateTime.Now;
//specify header height
wg.HeaderHeight = 0.5f;
//Add Header setting
wg.HeaderHTML = "<div style='float: left;'>Header Text</div>";
//append Header settings
wg.HeaderHTML = $"<div style='float: right;'>{DateTime.Now.ToShortDateString()} {DateTime.Now.ToShortTimeString()}</div>";
//specify directory for newly created file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert above sources to PDF file
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instantiate Object
Dim wg As New WebGrabber()
'Page content source
Dim html As String = "<h1 style='text-align:center;'>Page Content</h2>"
'assign above source to WebGrabber
wg.CreateFromHTMLText = html
'specify Footer height
wg.FooterHeight = 0.5F
'Add Footer setting
wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>"
'create object for datetime
Dim now As DateTime = DateTime.Now
'specify header height
wg.HeaderHeight = 0.5F
'Add Header setting
wg.HeaderHTML = "<div style='float: left;'>Header Text</div>"
'append Header settings
wg.HeaderHTML = $"<div style='float: right;'>{DateTime.Now.ToShortDateString()} {DateTime.Now.ToShortTimeString()}</div>"
'specify directory for newly created file
wg.OutputDirectory = "E:/"
'specify file name
wg.NewDocumentName = "Sample.pdf"
'convert above sources to PDF file
wg.ConvertToPDF()
End Sub
Der folgende Screenshot zeigt die mit dem obigen Code neu erzeugte Datei "Sample.pdf":
ActivePDF WebGrabber hat keine vordefinierte Funktion, um eine horizontale Linie zu zeichnen, die den Header vom Seiteninhalt trennt
ActivePDF erfordert die Verwendung der DateTime-Funktion des .NET-Frameworks
IronPDF bietet eine einfache Einstellung der Kopf- und Fußzeileneigenschaften
9. ActivePDF Komponenten Liste
Name
Einzelheiten
ActivePDF DocConverter
Es dient der Konvertierung gängiger Dateitypen in und aus dem PDF-Format.
ActivePDF WebGrabber
Es erfasst das HTML aus vielen Quellen und wandelt es in PDF-Dateien um.
ActivePDF DocSpace
Es bietet Batch-Prozess-Automatisierung und eine Benutzeroberfläche zum Anzeigen, Erzeugen, Konvertieren, Manipulieren und Interagieren mit PDF und anderen Dateiformaten.
ActivePDF-Werkzeugsatz
Es wird zum Erstellen, Ändern, Anzeigen, Extrahieren, Manipulieren und Automatisieren von Dokumenteninhalten in und aus PDF-Dateien verwendet.
ActivePDF-Portal
Es ermöglicht den Benutzern, PDF-Dokumente aus beliebigen Quellen in einem Standard-Webbrowser anzuzeigen und zu ändern.
ActivePDF CADKonverter
Es wird zur Konvertierung von CAD-Dateien in PDF verwendet.
ActivePDF Xtractor
Es wird verwendet, um den Text und die Bilder aus PDF-Dateien zu extrahieren und zu finden.
ActivePDF-Spooler
Sie ermöglicht es dem Entwickler, die Seite der PDF-Datei auf Papier zu drucken.
ActivePDF Redactor
Sie wird verwendet, um sensible Informationen vor dem Betrachter zu verbergen.
ActivePDF-Server
Es bietet die Drucklösung für verschiedene Zwecke.
10. Lizenzvergabe
ActivePDF stellt auf seiner Website keine Informationen über seine Pakete zur VerfügungActivePDF-Website. Um Informationen zur Lizenzierung zu erhalten, müssen Siekontakt ihren Verkäufer. Sie müssen jedoch genau wissen, welche Art von Produktionslizenz Sie suchen. Sie stellen keine Preisliste zur Verfügung, und obwohl die Preise bei 1.180 $ für eine Jahreslizenz beginnen, können sie je nach Nutzungsumfang höher sein und müssen detailliert angegeben werden, um ein Angebot zu erhalten.
IronPDF bietet eine transparente Preisgestaltung mitlizenzen von $749mit vielen anpassbaren Optionen. Wenden Sie sich an das Team, wenn Sie Fragen haben.
Tutorial Schnellzugriff
Erkunden Sie die IronPDF API-Referenz
Entdecken Sie die API-Referenz für die IronPDF C# Library, einschließlich Details zu allen IronPDF-Funktionen, Klassen, Methodenfeldern, Namespaces und Enums.
Bevor er Software-Ingenieur wurde, promovierte Kannapat an der Universität Hokkaido in Japan im Bereich Umweltressourcen. Während seines Studiums wurde Kannapat auch Mitglied des Vehicle Robotics Laboratory, das Teil der Abteilung für Bioproduktionstechnik ist. Im Jahr 2022 wechselte er mit seinen C#-Kenntnissen zum Engineering-Team von Iron Software, wo er sich auf IronPDF konzentriert. Kannapat schätzt an seiner Arbeit, dass er direkt von dem Entwickler lernt, der den Großteil des in IronPDF verwendeten Codes schreibt. Neben dem kollegialen Lernen genießt Kannapat auch den sozialen Aspekt der Arbeit bei Iron Software. Wenn er nicht gerade Code oder Dokumentationen schreibt, kann man Kannapat normalerweise beim Spielen auf seiner PS5 oder beim Wiedersehen mit The Last of Us antreffen.
< PREVIOUS Aspose PDF Converter Tutorial und Vergleich
NÄCHSTES > SpirePDF C# HTML zu PDF Tutorial & Bibliothek Vergleich