Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Wenn Sie Ihre HTML-Seiten in andere Formate konvertieren möchten, sind Sie hier genau richtig. In diesem Artikel wird beschrieben, wie Sie HTML, CSS und JS in PDF umwandeln können. Heutzutage ist alles technologiebasiert, und diejenigen, die diese Technologien entwickeln, brauchen zeitsparende Lösungen - und zwar in einer der am häufigsten verwendeten Programmiersprachen, dem C# von .NET. In C# sind die herkömmlichen Methoden zur Bearbeitung von PDF-Dateien komplex und zeitaufwändig. Die häufigsten Verwendungszwecke für PDF-Dateien sind:
Erzeugung von HTML in PDF
Es wurden viele Tools entwickelt, um diese PDF-Konvertierungen durchzuführen und auftretende Probleme zu lösen. In diesem Artikel werden die beiden unter Entwicklern meistgelobten C#-Bibliotheken für PDF-Konvertierungen verglichen. Es handelt sich dabei um die folgenden Instrumente:
IronPDF ist das ideale Werkzeug für die Konvertierung von HTML-Seiten in der .NET- und .NET Core-Entwicklung. Es konvertiert nicht nur HTML, sondern bietet auch zahlreiche andere Funktionen. Innerhalb von .NET Core- und Framework-Projekten können Entwickler mit IronPDF PDF-Dokumente erzeugen, ändern und extrahieren. Mit der IronPDF-Bibliothek können Entwickler schnell PDF-Dateien aus HTML-Dokumenten erstellen oder umwandeln.
IronPDF ermöglicht es Ihnen, automatisch Informationen aus PDF-Dateien zu lesen und diese in Ihre .NET-Anwendungen und Datenspeichersysteme einzubinden. Inhalte aus alten PDF-Dokumentenspeichern können importiert, migriert und in Ihre Dokumentenmanagement- und Geschäftsprozessanwendungen indiziert werden.
2.1.1. PDF-Konvertierungen
Diese Funktion umfasst die PDF-Erstellung aus verschiedenen Formaten wie HTML, HTML-Strings, MVC-Ansichten, Webformularen und URLs.
2.1.2. PDF-Imaging
Dies ermöglicht es den Benutzern, Bilder aus PDFs zu erstellen und pDFs erstellen aus Bildern. Es umfasst Bildextraktion, Unterstützung für verschiedene Bilderweiterungen und PDF-Druck.
2.1.3. PDF-Dateien IO
IronPDF bietet außerdem 128-Bit-Verschlüsselung für PDFs, das Sperren von PDFs mit Passwörtern und das digitale Signieren von PDFs.
2.1.4. Bearbeiten von PDFs
Diese Funktion von IronPDF bietet alle Arten der PDF-Formatierung wie das Hinzufügen von Wasserzeichen, das Hinzufügen von Seiten, das Entfernen von Seiten, Hintergründen, Vordergründen und vieles mehr. Kurz gesagt, IronPDF bietet alles, was Sie sich für den Umgang mit PDFs vorstellen können.
2.1.5. PDF-Inhaltsextraktion
In vielen Fällen können Sie eingebetteten Text direkt aus PDFs extrahieren. Wenn das nicht funktioniert, ist Ihr Leser wahrscheinlich tatsächlich in ein Bild eingebettet. Verwenden Sie die IronOCR-Bibliothek, um Dokumente nach dem visuellen Text und nicht nach dem reinen Text zu scannen.
2.1.6. Kopf- und Fußzeilen
Kopf- und Fußzeilen können bei der Erstellung einer PDF-Datei oder zu bestehenden PDF-Dateien hinzugefügt werden. Mit der Eigenschaft Druckoptionen können Sie eine Kopf- und eine Fußzeile für jede Dokumentseite erstellen. Greifen Sie auf diese Optionen über das Chrome PDF Renderer-Objekt zu. Dieses Beispiel funktioniert innerhalb einer .NET Core-Konsolenanwendung.
2.1.7. Kompatibilität
IronPDF unterstützt fast alle Betriebssysteme und Frameworks, die mit C# kompatibel sind, wie zum Beispiel:
Unterstützt: Windows, Azure
* .NET Core 2.1, 3.0, 3.1, .NET 6 & 5
+ .NET-Standard 2.0-Konformität für universelle Kompatibilität
+ Azurblau
+ AWS
+ Docker
+ Linux
DocRaptor ist eine professionelle Lösung für die Konvertierung von Dokumenten, aber im Gegensatz zu IronPDF bietet es nur begrenzte Funktionen für mehrere Programmierwörterbücher. Es ist ein API-basiertes Werkzeug und kann in jede Sprache integriert werden. Es ist qualitativ hochwertig und schnell und spart Ihnen dadurch Zeit. Es bietet auch eine Funktion zur Konvertierung von XML-Dateien in XLSX.
DocRaptor bietet Ihnen an, Ihre Dokumente für Sie zu hosten. Es hat CSS und JS Unterstützung. Dies sind hervorragende Eigenschaften für kleine Unternehmen, die keine eigenen Server besitzen.
3.1.1. HTML zu PDF Generierung
Mit DocRaptor lassen sich HTML-, CSS- und JS-Dateien schnell und einfach in PDF- und XLS-Dokumente umwandeln. Senden Sie einfach Ihren HTML-Inhalt und die erforderlichen Argumente an die Docs-APIs, entweder als formularcodierter Text oder als JSON-Objekt.
3.1.2 HTML zu Excel Format
Viele Berichte und Datenexporte erfordern sowohl die Unterstützung von PDF als auch von Excel. Das HTML-basierte Tool von DocRaptor macht dies einfach!
3.1.3. Dokument-Hosting
Das Dokument wird auf URLs ohne Markennamen gespeichert und ist für jeden von überall aus zugänglich. Sie können sie auf unbestimmte Zeit dort lassen oder nach einem bestimmten Datum oder einer bestimmten Anzahl von Downloads entfernen.
Anmerkung:
Nach den Daten, die im Rahmen der NuGet Website ist IronPDF beliebter als DocRaptor, mit insgesamt 3,0 Mio. Downloads, bei durchschnittlich 1,3 K Downloads pro Tag. Auf der anderen Seite hat DocRaptor nur 114,9 K Gesamtdownloads, mit einem täglichen Durchschnitt von 51 Downloads pro Tag.
Öffnen Sie Visual Studio und wählen Sie das Menü Datei. Wählen Sie "Neues Projekt" und dann "Konsolenanwendung". In diesem Artikel werden wir eine Konsolenanwendung verwenden, um PDF-Dokumente zu erzeugen.
Geben Sie den Projektnamen ein und wählen Sie den Pfad in dem entsprechenden Textfeld aus. Klicken Sie dann auf die Schaltfläche Erstellen. Wählen Sie das gewünschte .NET-Framework, wie in der folgenden Abbildung dargestellt:
Das Visual Studio-Projekt generiert nun die Struktur für die ausgewählte Anwendung, und wenn Sie die Konsolen-, Windows- und Webanwendung ausgewählt haben, wird die Datei program.cs geöffnet, in die Sie den Code eingeben und die Anwendung erstellen/ausführen können.
Jetzt können wir die Bibliothek hinzufügen und das Programm testen.
Die IronPDF-Bibliothek kann auf vier verschiedene Arten heruntergeladen und installiert werden. Diese sind:
Die Visual Studio-Software bietet die Option NuGet Package Manager, um das Paket direkt in der Lösung zu installieren. Der folgende Screenshot zeigt, wie Sie den NuGet Package Manager öffnen.
Es bietet ein Suchfeld, um die Liste der verfügbaren Paketbibliotheken von der NuGet-Website anzuzeigen. Im Paketmanager müssen wir nach dem Schlüsselwort "IronPDF" suchen, wie im folgenden Screenshot dargestellt:
Aus dem obigen Bild erhalten wir die Liste der verwandten Pakete Suchliste. Wir müssen die IronPDF-Option auswählen und das Paket in unserer Lösung installieren.
Install-Package IronPdf
Jetzt wird das Paket in das aktuelle Projekt heruntergeladen/installiert und ist einsatzbereit.
Die dritte Möglichkeit ist, das NuGet-Paket direkt von der Webseite herunterzuladen.
Klicken Sie auf die link hier können Sie das neueste Paket direkt von der Webseite herunterladen. Führen Sie nach dem Download die folgenden Schritte aus, um das Paket dem Projekt hinzuzufügen.
Das DocRaptor-Team bietet fast die gleichen Methoden zur Integration der API an. Diese sind:
Die Schritte zum Öffnen des NuGet Package Managers sind die gleichen wie für IronPDF.
Nachdem Sie den Paketmanager geöffnet haben, geben Sie einfach DocRaptor in die Suchleiste ein.
Wie die obige Abbildung zeigt, gibt es drei Ergebnisse für DocRaptor. Wählen Sie die gewünschte Option.
Gehen Sie im Menü von Visual Studio zu Werkzeuge -> NuGet-Paketmanager -> Paketmanager-Konsole. Geben Sie auf der Registerkarte der Paketmanager-Konsole folgende Zeile ein: install-Package DocRaptor. Jetzt wird das Paket in das aktuelle Projekt heruntergeladen/installiert und ist einsatzbereit.
Die dritte Möglichkeit ist, das NuGet-Paket direkt von der Webseite herunterzuladen.
Beide Tools bieten diese Funktion für die HTML-Konvertierung, wenn auch auf etwas unterschiedliche Weise.
Die Konvertierung von Seiten mit IronPDF erfordert nicht die Verwendung von JSON und Verschlüsselungstechniken, sondern ist eigentlich ganz einfach. IronPDF erlaubt eine Vielzahl von Methoden. Zum Beispiel:
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
Dim Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf")
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
Dim Renderer As New IronPdf.ChromePdfRenderer()
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
Pdf.SaveAs("url.pdf")
private void Form1_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
//Changes the ASPX output into a pdf instead of HTML
}
private void Form1_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
//Changes the ASPX output into a pdf instead of HTML
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf()
'Changes the ASPX output into a pdf instead of HTML
End Sub
DocRaptor wickelt die Konvertierung über HTTP-Post-Requests mit JSON-Support ab, bietet aber nur Funktionen zur Konvertierung von URL- und HTML-Dateien in PDF.
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System.IO;
class Example {
tatic void Main(string [] args) {
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
Doc doc = new Doc(
test: true,
//documentContent: System.IO.File.ReadAllText(@"custom-fonts- content.html"),
documentUrl: "http://www.docraptor.com/examples/invoice.html",
name: "docraptor-csharp.pdf",
documentType: Doc.DocumentTypeEnum.Pdf
);
yte [] createResponse = docraptor.CreateDoc(doc);
}
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System.IO;
class Example {
tatic void Main(string [] args) {
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
Doc doc = new Doc(
test: true,
//documentContent: System.IO.File.ReadAllText(@"custom-fonts- content.html"),
documentUrl: "http://www.docraptor.com/examples/invoice.html",
name: "docraptor-csharp.pdf",
documentType: Doc.DocumentTypeEnum.Pdf
);
yte [] createResponse = docraptor.CreateDoc(doc);
}
Imports DocRaptor.Client
Imports DocRaptor.Model
Imports DocRaptor.Api
Imports System.IO
Friend Class Example
Private tatic Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Dim doc As New Doc(test:= True, documentUrl:= "http://www.docraptor.com/examples/invoice.html", name:= "docraptor-csharp.pdf", documentType:= Doc.DocumentTypeEnum.Pdf)
Dim createResponse() As yte = docraptor.CreateDoc(doc)
End Sub
Sowohl IronPDF als auch DocRaptor unterstützen die Formatierung von PDFs. IronPDF unterstützt jedoch nur einzelne Dateien, während DocRaptor mehrere Dateien unterstützt.
Um das erwartete Verhalten der PDF-Ausgabe zu gewährleisten, verwenden wir verschiedene Formatierungsstile, von denen wir in diesem Artikel einige besprechen und mit DocRaptor vergleichen werden.
Benutzerdefinierte Schriftarten
IronPDF unterstützt WebFonts, einschließlich der unglaublichen Google Fonts-Bibliothek. Dadurch erhält der Entwickler die volle Kontrolle über die Schriftarten, ohne von den Systemschriften abhängig zu sein.
using IronPdf;
ChromePdfRenderer myChromePdfRenderer = new IronPdf.ChromePdfRenderer();
var Renderer = new IronPdf.ChromePdfRenderer();
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster""
rel=""stylesheet""><p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";
Renderer.RenderingOptions.RenderDelay = 500;
var doc = Renderer.RenderHtmlAsPdf(html);
doc.SaveAs("font.pdf");
using IronPdf;
ChromePdfRenderer myChromePdfRenderer = new IronPdf.ChromePdfRenderer();
var Renderer = new IronPdf.ChromePdfRenderer();
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster""
rel=""stylesheet""><p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";
Renderer.RenderingOptions.RenderDelay = 500;
var doc = Renderer.RenderHtmlAsPdf(html);
doc.SaveAs("font.pdf");
Imports IronPdf
Private myChromePdfRenderer As ChromePdfRenderer = New IronPdf.ChromePdfRenderer()
Private Renderer = New IronPdf.ChromePdfRenderer()
Private html = "<link href=""https://fonts.googleapis.com/css?family=Lobster""
rel=""stylesheet""><p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>"
Renderer.RenderingOptions.RenderDelay = 500
Dim doc = Renderer.RenderHtmlAsPdf(html)
doc.SaveAs("font.pdf")
Wasserzeichen
IronPDF bietet Methoden, um PDF-Dokumente mit einem HTML-Wasserzeichen zu versehen. Wasserzeichen können so eingestellt werden, dass sie über oder unter dem vorhandenen Inhalt angezeigt werden, und verfügen über die integrierte Fähigkeit zur Deckkraft, Drehung und Hyperlinks.
using IronPdf;
// Stamps a watermark onto a new or existing PDF
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", ronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf
using IronPdf;
// Stamps a watermark onto a new or existing PDF
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", ronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf
Imports IronPdf
' Stamps a watermark onto a new or existing PDF
Private Renderer As New IronPdf.ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", ronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Pdf.SaveAs("TangibleTempVerbatimOpenTagC:\Path\To\Watermarked.pdf
Seitenzahlen
Die IronPDF-Funktion "Kopf- und Fußzeile" ermöglicht es uns, Informationen über die Seitennummerierung zusammenzufassen.
// PM> Install-Package IronPdf
using IronPdf;
var html = @"
<p> Hello Iron</p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>";
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.HtmlFooter = new IronPdf.HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
var pdfdoc = Renderer.RenderHtmlAsPdf(html);
pdfdoc.SaveAs("pageNumber.pdf");
// PM> Install-Package IronPdf
using IronPdf;
var html = @"
<p> Hello Iron</p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>";
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.HtmlFooter = new IronPdf.HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
var pdfdoc = Renderer.RenderHtmlAsPdf(html);
pdfdoc.SaveAs("pageNumber.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
Private html = "
<p> Hello Iron</p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>"
Private Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.HtmlFooter = New IronPdf.HtmlHeaderFooter() With {
.MaxHeight = 15,
.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
.DrawDividerLine = True
}
Dim pdfdoc = Renderer.RenderHtmlAsPdf(html)
pdfdoc.SaveAs("pageNumber.pdf")
DocRaptor unterstützt die PDF-Formatierung in der .NET API - ist aber recht schwierig zu handhaben. Schauen wir uns drei Beispiele für die Formatierung an:
Benutzerdefinierte Schriftarten
Benutzerdefinierte Schriftarten sind in DocRaptor einfach zu verwenden. Die Funktionsweise ist dieselbe wie bei einer Standard-Webseite. Hier ist ein CSS-Beispiel mit einer Google-Schriftart:
CSS-Codierung:
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v8/DXI1ORHCpsQm3Vp6mXoaTaRDOzjiPcYnFooOUGCOsRk.woff) format('woff');
}
p {
font-family: Arial, Helvetica, sans-serif;
}
p.custom-font {
font-family: 'Open Sans', sans-serif;
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v8/DXI1ORHCpsQm3Vp6mXoaTaRDOzjiPcYnFooOUGCOsRk.woff) format('woff');
}
p {
font-family: Arial, Helvetica, sans-serif;
}
p.custom-font {
font-family: 'Open Sans', sans-serif;
}
HTML-Kodierung:
<h2>Custom Fonts</h2>
<p>Hi, my name is Arial.</p>
<p class='custom-font'>I like to walk on the beach on warm Open Sans.</p>
<h2>Custom Fonts</h2>
<p>Hi, my name is Arial.</p>
<p class='custom-font'>I like to walk on the beach on warm Open Sans.</p>
C#-Codierung:
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "custom-fonts",
test: true, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"custom-fonts-content.html"),
/ documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables rocessing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("custom-fonts.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "custom-fonts",
test: true, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"custom-fonts-content.html"),
/ documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables rocessing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("custom-fonts.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
Friend Class Example
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "custom-fonts", test:= True, documentContent:= System.IO.File.ReadAllText("custom-fonts-content.html"), / documentUrl:= "http://docraptor.com/examples/invoice.html", documentType:= Doc.DocumentTypeEnum.Pdf)
Dim create_response() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("custom-fonts.pdf", create_response)
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
End Class
OUTPUT
Wasserzeichen
Wasserzeichen sind auf vielen PDFs zu finden. Glücklicherweise macht das HTML-PDF-Tool von DocRaptor die Erstellung von dynamisch erzeugten Dokumenten mit Wasserzeichen zu einem Kinderspiel!
CSS-Codierung:
#watermark {
flow: static(watermarkflow);
font-size: 120px;
opacity: 0.5;
transform: rotate(-30deg);
text-align: center;
}
#watermark {
flow: static(watermarkflow);
font-size: 120px;
opacity: 0.5;
transform: rotate(-30deg);
text-align: center;
}
HTML-Kodierung:
<body><div id="watermark">PREVIEW</div>
<div style="page-break-after: always;">Page 1</div>
<div style="page-break-after: always;">Page 2</div>
<div style="page-break-after: always;">Page 3</div>
</body>
<body><div id="watermark">PREVIEW</div>
<div style="page-break-after: always;">Page 1</div>
<div style="page-break-after: always;">Page 2</div>
<div style="page-break-after: always;">Page 3</div>
</body>
C#-Codierung:
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "text-based-watermark",
test: false, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"text-based-watermark-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("text-based-watermark.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "text-based-watermark",
test: false, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"text-based-watermark-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("text-based-watermark.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
Friend Class Example
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "text-based-watermark", test:= False, documentContent:= System.IO.File.ReadAllText("text-based-watermark-content.html"), documentType:= Doc.DocumentTypeEnum.Pdf)
Dim create_response() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("text-based-watermark.pdf", create_response)
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
Seitennummern
Mit Open-Source-HTML-zu-PDF-Tools ist das Hinzufügen von Seitenzahlen zu PDF-Dokumenten schwierig und manchmal fast unmöglich, aber mit DocRaptor ist es ein Kinderspiel!
CSS-Codierung:
@page {
@bottom {
content: "Page " counter(page, upper-alpha) " of " counter(pages, decimal);
} }
@page {
@bottom {
content: "Page " counter(page, upper-alpha) " of " counter(pages, decimal);
} }
HTML-Kodierung:
<body>
<div style="page-break-after: always;">Page1</div>
<div style="page-break-after: always;">Page2</div>
<div style="page-break-after: always;">Page3</div>
<div id="page4" style="page-break-after: always;">Page4, with reset page counter</div>
</body>
<body>
<div style="page-break-after: always;">Page1</div>
<div style="page-break-after: always;">Page2</div>
<div style="page-break-after: always;">Page3</div>
<div id="page4" style="page-break-after: always;">Page4, with reset page counter</div>
</body>
C#-Codierung:
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "page-numbers",
test: true, // test documents are but watermarked
documentContent: System.IO.File.ReadAllText(@"page-numbers-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("page-numbers.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "page-numbers",
test: true, // test documents are but watermarked
documentContent: System.IO.File.ReadAllText(@"page-numbers-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("page-numbers.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
Friend Class Example
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "page-numbers", test:= True, documentContent:= System.IO.File.ReadAllText("page-numbers-content.html"), documentType:= Doc.DocumentTypeEnum.Pdf)
Dim create_response() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("page-numbers.pdf", create_response)
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
End Class
DocRaptor ist ein API-basierter Dokumentenkonverter, der HTML-Dateien und URLs in PDFs sowie XML in XLSX-Dateien konvertiert. Es unterstützt acht verschiedene Programmiersprachen. Es bietet jedoch nur eine monatliche Lizenzierung mit einem Dokumentenlimit, angefangen von einer kostenlosen Lizenz mit einem Limit von fünf Dokumenten pro Monat bis hin zu einem Silber-Paket, das ein Limit von 40.000 Dokumenten und einen Preis von 1000 Dollar pro Monat beinhaltet. DocRaptor ist ideal für kleine Organisationen und bietet ein kleineres professionelles Paket mit einem Limit von 325 Dokumenten für $29 an link für weitere Preise.
Anmerkung:
DocRaptor bietet weder einen einmaligen Kauf noch projektbasierte Lizenzen an.
IronPDF ist eine Bibliothek, die eine kostenlose Entwicklerlizenz bietet. IronPDF hat auch eine klare Preisstruktur: das lite-Paket beginnt bei $749 ohne versteckte Gebühren. Auch der Weitervertrieb von SaaS- und OEM-Produkten ist möglich. Alle Lizenzen beinhalten eine 30-tägige Geld-zurück-Garantie, ein Jahr Software-Support und Upgrades, Gültigkeit für Entwicklung/Taging/Produktion und eine unbefristete Lizenz (einmaliger Kauf). Um die gesamte Preisstruktur und Lizenz von IronPDF zu sehen, gehen Sie zu hier.
Anmerkung:
IronPDF bietet die Möglichkeit, zwei oder mehr PDFs miteinander zu verbinden und zusammenzufügen. Außerdem bietet es die Möglichkeit, Seiten zu extrahieren, zu kopieren, bestimmte Seiten zu entfernen und PDF-Dateien mit mehreren Threads zu erstellen, was sein Konkurrent nicht anbietet.
Von einem entfernten Server aus erzeugt IronPDF kein HTML in PDF. Hinter den Kulissen startet er eine Instanz eines echten standardkonformen Browsers (ohne dass zusätzliche Software installiert werden muss). Das HTML wird mit absoluter Genauigkeit gerendert - und zwar in einem Vektorformat, das für den kommerziellen Druck nach höchsten Standards geeignet ist. Das Ergebnis ist eine gestochen scharfe, hochwertige PDF-Datei. Lizenz- und Preisinformationen sind auf der Webseite leicht zugänglich.
DocRaptor wandelt auch HTML in jedem beliebigen Format in PDF um, und zwar mit maximaler Genauigkeit und minimaler Ausfallzeit, da es auf zahlreichen Cloud-Servern läuft. DocRaptor ist eine webbasierte API, die einen Online-PDF-Konvertierungsdienst bereitstellt. Die DocRaptor HTML to PDF API ist dank der serverseitigen API-Client-Bibliotheken einfach zu verwenden. Diese Bibliotheken sind in einer Reihe von bekannten serverseitigen Programmiersprachen zu finden. Die Webseite enthält Preisinformationen.
Im obigen Artikel haben wir beide Tools verglichen und sind zu dem Schluss gekommen, dass Entwickler bei der Konvertierung von .NET- oder C#-Dokumenten IronPDF aus vielen Gründen DocRaptor vorziehen. IronPDF bietet mehr Funktionen als DocRaptor. DocRaptor bietet gute Pakete für kleine Organisationen, ist aber recht teuer und bietet keine längerfristige Lizenz. Andererseits bietet IronPDF mehr Funktionen und eine einmalige Kauflizenz zu einem niedrigeren Preis. IronPDF ist sowohl für kleine Unternehmen als auch für Unternehmen mit großer Infrastruktur geeignet. DocRaptor kann beim Umgang mit PDFs auf verschiedenen serverseitigen Plattformen nützlich sein. Außerdem bieten die IronPDF-Pakete eine lebenslange Lizenz, und es fallen keine laufenden Kosten an, während DocRaptor laufende Kosten verursacht.
9 .NET API-Produkte für Ihre Bürodokumente