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");
Das Portable Document Format(PDF) ist das beliebteste Dokumentformat zur Darstellung von Text, Links, Schaltflächen, Grafiken und vielem mehr in einem einzigen Dokument. Die Manipulation von PDFs in der Programmiersprache C# ist ohne eine PDF-API für C# nahezu unmöglich. In diesem Artikel erfahren Sie, wie Sie mit zwei verschiedenen APIs mit PDF-Dokumenten interagieren und diese bearbeiten können. Außerdem vergleichen wir beide APIs hinsichtlich ihrer Leistung, Funktionen und Lizenzierung.
Die PDF-APIs, die wir in diesem Artikel besprechen werden, sind:
IronPDF
PDFShift
1. IronPDF
IronPDF ist eine leistungsstarke API für die Umwandlung von HTML in PDF. IronPDF ist die ideale Lösung für die Konvertierung von HTML-Seiten in der .NET- und .NET Core-Entwicklung. Es wandelt nicht nur HTML um, sondern verfügt auch über eine Vielzahl von Zusatzfunktionen. IronPDF ermöglicht Entwicklern das Erstellen, Ändern und Abrufen von PDF-Dokumenten in .NET Core- und .NET-Framework-Projekten. Mit dem IronPDF-Paket können Entwickler auf einfache Weise PDFs aus HTML-Seiten erzeugen oder ändern.
Eine PDF-Datei kann leicht bearbeitet, gestempelt und mit Kopf- und Fußzeilen versehen werden. Auch das Lesen von PDF-Texten und das Extrahieren von Bildern ist mit diesem Programm denkbar einfach. IronPDF verwendet eine .NET Chromium-Engine, um HTML-Seiten in PDF-Dateien umzuwandeln.
1.1. IronPDF Merkmale
1.1.1. PDF-Konvertierungen
Diese Funktion umfasst die PDF-Erstellung aus verschiedenen Formaten wie HTML, HTML-Strings, MVC-Ansichten, Webformularen und URLs.
1.1.2. PDF-Bildgebung
Dies ermöglicht es den Benutzern, Bilder aus PDFs zu erstellen und PDFs aus Bildern zu erstellen. Es umfasst Bildextraktion, Unterstützung für verschiedene Bilderweiterungen und PDF-Druck.
1.1.3. PDF-Dateien E/A
IronPDF bietet auch Funktionen für 128-Bit-Verschlüsselung, Sperren mit Passwörtern und digitales Signieren.
1.1.4. PDFs bearbeiten
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, das Hinzufügen von Hintergründen, das Hinzufügen von Vordergründen und vieles mehr. Kurz gesagt, IronPDF bietet alle Funktionen, die Sie für die Bearbeitung von PDF-Dateien benötigen.
1.1.5. Extraktion von PDF-Inhalten
In vielen Fällen können Sie eingebetteten Text direkt aus PDFs extrahieren. Wenn das nicht funktioniert, ist Ihr Text wahrscheinlich tatsächlich in ein Bild eingebettet. Verwenden Sie die IronOCR-Bibliothek, um Dokumente nach visuellem Text und nicht nach reinem Text zu scannen.
1.1.6. Kopfzeilen 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.
1.1.7. Kompatibilität
IronPDF unterstützt fast alle Betriebssysteme und Frameworks, die mit C# kompatibel sind, einschließlich der folgenden:
Windows
Linux
.NET Core 2.1, 3.0, 3.1, .NET 6 & 5
.NET-Standard 2.0-Konformität für universelle Kompatibilität
Microsoft Azure
Amazon Webdienste(AWS)
Docker
2. PDFShift
PDFShift ist ein HTML-zu-PDF-Konvertierungs-API-Tool, mit dem Unternehmen HTML-Seiten in Sekundenschnelle in PDF konvertieren können. Parallele Konvertierungen, asynchrone Abfragen, Roh-HTML-Unterstützung und andere Funktionen sind über das cloud-server-basierte API-Tool verfügbar. PDFShift ist eine einfach zu bedienende Lösung, die eine Vielzahl von Entwicklersprachen unterstützt, darunter Ruby, Python, JavaScript, Node und PHP, um den Konvertierungsprozess zu erleichtern.
PDFShift ermöglicht es Kunden, benutzerdefinierte Kopf- und Fußzeilen zu erstellen, benutzerdefinierte CSS anzuwenden, Dateien zu verschlüsseln und vieles mehr, um Unternehmen die vollständige Kontrolle über ihre Konvertierungen zu geben.
2.1. PDFShift Eigenschaften
2.1.1. Parallele Konvertierungen
PDFShift unterstützt die parallele Konvertierung, d. h. der Benutzer kann mehrere Dokumente gleichzeitig konvertieren, um die Konvertierungsgeschwindigkeit zu erhöhen.
2.1.2. Erweiterte Kopf- und Fußzeilen Optionen
Erstellen Sie benutzerdefinierte Kopf- und Fußzeilen mit Seitenzahlen, verwenden Sie benutzerdefiniertes CSS und JavaScript, verschlüsseln Sie Ihre Dokumente und vieles mehr.
2.1.3. API für die Umwandlung von HTML-Rohdaten in PDF
PDFShift unterstützt die Umwandlung von HTML in PDF, ohne die Seiten zu veröffentlichen.
2.1.4. Hochpräzise PDF
PDFShift konvertiert HTML in Sekundenschnelle in originalgetreue PDF-Dokumente.
2.1.5. Asynchrone Anforderungen
Nutzen Sie unser ausgeklügeltes Echtzeitsystem, um sich benachrichtigen zu lassen, wenn eine Umwandlung abgeschlossen ist. Nutzen Sie die leistungsstarke PDFShift-API, um HTML in PDF zu konvertieren und das System mit nur drei Zeilen Code zu integrieren.
3. Erstellen eines neuen Projekts in Visual Studio
Öffnen Sie Visual Studio und wählen Sie das Menü Datei. Wählen Sie "neues Projekt" und dann eine Konsolenanwendung aus. 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.
4. Installieren Sie die IronPDF-Bibliothek
Die IronPDF-Bibliothek kann auf vier verschiedene Arten heruntergeladen und installiert werden. Diese sind:
Verwendung des Visual Studio NuGet-Paketmanagers
Verwendung der Visual Studio-Befehlszeile
Direkter Download von der NuGet-Webseite
Direkter Download von der IronPDF-Webseite
4.1 Verwendung des Visual Studio NuGet-Paketmanagers
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.
Sie 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 zu sehen
In der obigen Abbildung sehen Sie die Liste der verwandten Pakete aus der Suche. Wir müssen die IronPDF-Option auswählen und das Paket in unserer Lösung installieren.
4.2 Verwendung der Visual Studio-Befehlszeile
Gehen Sie im Menü von Visual Studio auf Extras > NuGet-Paketmanager > Paketmanager-Konsole
Geben Sie die folgende Zeile auf der Registerkarte der Paketmanager-Konsole ein:
Install-Package IronPdf
Jetzt wird das Paket in das aktuelle Projekt heruntergeladen/installiert und ist einsatzbereit.
4.3 Direkter Download von der NuGet-Webseite
Die dritte Möglichkeit ist, das NuGet-Paket direkt von der Webseite herunterzuladen.
Wählen Sie im Menü auf der rechten Seite die Option Paket herunterladen.
Doppelklicken Sie auf das heruntergeladene Paket; wird sie automatisch installiert.
Laden Sie nun die Lösung neu und verwenden Sie sie im Projekt.
4.4 Direkter Download von der IronPDF-Webseite
Laden Sie das neueste Paket direkt von derIronPDF Download-Seite. Führen Sie nach dem Download die folgenden Schritte aus, um das Paket dem Projekt hinzuzufügen.
Klicken Sie mit der rechten Maustaste auf das Projekt im Lösungsfenster.
Wählen Sie dann die Option Referenz und suchen Sie den Speicherort der heruntergeladenen Referenz.
Klicken Sie anschließend auf OK, um die Referenz hinzuzufügen.
5. PDFShift Arbeiten
PDFShift kann nicht in ein Projekt integriert werden - stattdessen arbeitet es aus der Ferne. Sie müssen eine POST-Anfrage an die PDFShift-API mit dem C# RestClient-Paket stellen, indem Sie einfach Ihren API-Schlüssel als Benutzerargument der einfachen Authentifizierung angeben. Der Server empfängt Ihre Anfrage, verarbeitet sie und gibt die Ausgabedatei zurück. Die Arbeit mit der PDF-Konvertierungs-API erfolgt per HTTP-Post-Anfrage. PDFShift bietet eine API in vielen Sprachen an und arbeitet für alle Sprachen aus der Ferne.
6. PDFs aus HTML erstellen
Beide Tools bieten diese Funktion für die HTML-Konvertierung, wenn auch auf etwas unterschiedliche Weise.
6.1. PDF aus einer URL mit IronPDF erstellen
Die Erstellung einer PDF-Datei in C# unter Verwendung einer URL ist genauso einfach wie das obige Beispiel mit nur diesen drei Codezeilen. Der folgende Code zeigt, wie man PDF-Dateien aus einer URL erstellt.
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()
' Create a PDF from a URL or local file path
Private pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
Hier ist die Ausgabe des obigen Codes.
6.2. HTML zu PDF mit IronPDF
Mit der C# .NET-Bibliothek IronPDF ist es ganz einfach, HTML in PDF zu konvertieren.
var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
mypdf.SaveAs("FirstPDFDocument.pdf");
var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
mypdf.SaveAs("FirstPDFDocument.pdf");
Dim pdf = New ChromePdfRenderer()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
mypdf.SaveAs("FirstPDFDocument.pdf")
6.3. PDF aus URL mit PDFShift erstellen
Die Konvertierung einer URL mit PDFShift ist sehr einfach. Sie müssen lediglich eine POST-Anfrage senden, wobei der Quellparameter auf die URL gesetzt wird, wie im folgenden Beispiel:
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
var json = new
{
source = "https://www.example.com"
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
var json = new
{
source = "https://www.example.com"
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
Imports System
Imports RestSharp
Imports Newtonsoft.Json
Imports System.IO
Imports RestSharp.Authenticators
Imports RestSharp.Serialization
Imports System.Net.Mail
Imports System.Net
Imports System.Collections.Generic
Imports Newtonsoft.Json.Linq
Namespace PDFShiftExample
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim client As IRestClient = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")
Dim request As IRestRequest = New RestRequest(Method.POST)
Dim json = New With {Key .source = "https://www.example.com"}
request.AddJsonBody(json)
Dim response As IRestResponse = client.Execute(request)
If Not response.IsSuccessful Then
' Check why status is not int 2xx.
Else
File.WriteAllBytes("result.pdf", response.RawBytes)
End If
End Sub
End Class
End Namespace
6.4. HTML-zu-PDF mit PDFShift
PDFShift bietet ebenfalls eine direkte Konvertierung von HTML in PDF, liest aber HTML-Inhalte aus HTML-Dateien.
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
string documentContent = File.ReadAllText("document.html");
var json = new
{
source = documentContent
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
string documentContent = File.ReadAllText("document.html");
var json = new
{
source = documentContent
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
Namespace PDFShiftExample
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim client As IRestClient = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")
Dim request As IRestRequest = New RestRequest(Method.POST)
Dim documentContent As String = File.ReadAllText("document.html")
Dim json = New With {Key .source = documentContent}
request.AddJsonBody(json)
Dim response As IRestResponse = client.Execute(request)
If Not response.IsSuccessful Then
' Check why status is not int 2xx.
Else
File.WriteAllBytes("result.pdf", response.RawBytes)
End If
End Sub
End Class
End Namespace
7. Benutzerdefinierte Kopfzeilen und Fußzeilen
Das Hinzufügen von Kopf- und Fußzeilen zu PDFs ist ein Muss, wenn man mit PDFs arbeitet. Beide diskutierten Tools unterstützen diese Option.
7.1. Benutzerdefinierte Kopf- und Fußzeilen mit IronPDF
Mit IronPDF können Sie Kopf- und Fußzeilen auf zwei verschiedene Arten hinzufügen.
TextHeaderFooter ermöglicht das Hinzufügen von textbasierten Überschriften mit der Option, dynamische Daten einzubinden.
HtmlHeaderFooter ermöglicht es dem Entwickler, HTML-Kopf- und -Fußzeilen in PDF-Dateien zu rendern, wobei auch das Templating von dynamischen Daten möglich ist. Sie ist flexibler, aber schwieriger zu handhaben.
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1; // use 2 if a coverpage will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1; // use 2 if a coverpage will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica;
Renderer.RenderingOptions.TextHeader.FontSize = 12;
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.FirstPageNumber = 1 ' use 2 if a coverpage will be appended
Renderer.RenderingOptions.TextHeader.DrawDividerLine = True
Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
Renderer.RenderingOptions.TextHeader.Font = IronPdf.Font.FontTypes.Helvetica
Renderer.RenderingOptions.TextHeader.FontSize = 12
7.2. Benutzerdefinierte Kopf- und Fußzeilen mit PDFShift
Sie können das resultierende Dokument anpassen, indem Sie eine eigene Kopf- oder Fußzeile hinzufügen. Diese werden häufig verwendet, um die aktuelle Seite zu kennzeichnen oder das Logo Ihres Unternehmens auf jeder Seite anzuzeigen.
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
var json = new
{
source = "https://quillbot.com/",
footer = new { source = "<div style=\"font-size: 12px\">Page {{page}} of {{total}}</div>", spacing = "50px" }
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
var json = new
{
source = "https://quillbot.com/",
footer = new { source = "<div style=\"font-size: 12px\">Page {{page}} of {{total}}</div>", spacing = "50px" }
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
Imports System
Imports RestSharp
Imports Newtonsoft.Json
Imports System.IO
Imports RestSharp.Authenticators
Imports RestSharp.Serialization
Imports System.Net.Mail
Imports System.Net
Imports System.Collections.Generic
Imports Newtonsoft.Json.Linq
Namespace PDFShiftExample
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim client As IRestClient = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")
Dim request As IRestRequest = New RestRequest(Method.POST)
Dim json = New With {
Key .source = "https://quillbot.com/",
Key .footer = New With {
Key .source = "<div style=""font-size: 12px"">Page {{page}} of {{total}}</div>",
Key .spacing = "50px"
}
}
request.AddJsonBody(json)
Dim response As IRestResponse = client.Execute(request)
If Not response.IsSuccessful Then
' Check why status is not int 2xx.
Else
File.WriteAllBytes("result.pdf", response.RawBytes)
End If
End Sub
End Class
End Namespace
9. Wasserzeichen
Das Anbringen von Wasserzeichen in PDF-Dateien mit Hilfe einer Programmiersprache ist eine ziemlich schwierige Aufgabe. Sowohl IronPDF als auch PDFShift bieten Unterstützung für das Anbringen von Wasserzeichen in PDF-Dateien.
9.1. Wasserzeichenerstellung mit IronPDF
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 eine integrierte Kapazität für Deckkraft, Drehung und Hyperlinks.
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
var Renderer = new IronPdf.ChromePdfRenderer();
using var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
Private Renderer = New IronPdf.ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", IronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf")
Pdf.SaveAs("C:\Path\To\Watermarked.pdf")
9.2. Wasserzeichenerstellung mit PDFShift
Benutzer benötigen ein Wasserzeichen, um PDFs eindeutig zu identifizieren.
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
var json = new
{
source = "https://www.example.com",
watermark = new { image = "https://pdfshift-dev.netlify.com/images/logo/logo-violet.png", offset_x = 50, offset_y = "100px", rotate = 45 }
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
using System;
using RestSharp;
using Newtonsoft.Json;
using System.IO;
using RestSharp.Authenticators;
using RestSharp.Serialization;
using System.Net.Mail;
using System.Net;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
namespace PDFShiftExample
{
class Program
{
static void Main(string [] args)
{
IRestClient client = new RestClient("https://api.pdfshift.io/v3/convert/pdf");
client.Authenticator = new HttpBasicAuthenticator("api", "your_api_key");
IRestRequest request = new RestRequest(Method.POST);
var json = new
{
source = "https://www.example.com",
watermark = new { image = "https://pdfshift-dev.netlify.com/images/logo/logo-violet.png", offset_x = 50, offset_y = "100px", rotate = 45 }
};
request.AddJsonBody(json);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
// Check why status is not int 2xx.
}
else
{
File.WriteAllBytes("result.pdf", response.RawBytes);
}
}
}
}
Imports System
Imports RestSharp
Imports Newtonsoft.Json
Imports System.IO
Imports RestSharp.Authenticators
Imports RestSharp.Serialization
Imports System.Net.Mail
Imports System.Net
Imports System.Collections.Generic
Imports Newtonsoft.Json.Linq
Namespace PDFShiftExample
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim client As IRestClient = New RestClient("https://api.pdfshift.io/v3/convert/pdf")
client.Authenticator = New HttpBasicAuthenticator("api", "your_api_key")
Dim request As IRestRequest = New RestRequest(Method.POST)
Dim json = New With {
Key .source = "https://www.example.com",
Key .watermark = New With {
Key .image = "https://pdfshift-dev.netlify.com/images/logo/logo-violet.png",
Key .offset_x = 50,
Key .offset_y = "100px",
Key .rotate = 45
}
}
request.AddJsonBody(json)
Dim response As IRestResponse = client.Execute(request)
If Not response.IsSuccessful Then
' Check why status is not int 2xx.
Else
File.WriteAllBytes("result.pdf", response.RawBytes)
End If
End Sub
End Class
End Namespace
9. Lizenzvergabe
IronPDF ist eine Bibliothek, die eine kostenlose Entwicklerlizenz anbietet. IronPDF bietet auch eine besondere Preisstruktur: das Light-Paket beginnt bei $749, ohne versteckte Kosten. Es ist auch möglich, SaaS- und OEM-Produkte weiter zu vertreiben. Alle Lizenzen beinhalten eine 30-tägige Geld-zurück-Garantie, ein Jahr Software-Support und Upgrades, Gültigkeit für Entwicklung/Testing/Taging/Produktion und eine unbefristete Lizenz(einmaliger Kauf). IronPDF-Lizenzen bieten maximale Leistung für die Bedürfnisse der Benutzer. Gehen Sie auf diesen Link, um zu sehenIronPDFs gesamte Preisstruktur und Lizenzierung.
Die PDFShift PDF-Konvertierungs-API bietet fünf verschiedene Lizenzierungspakete auf monatlicher und jährlicher Basis. Für den Erwerb der verschiedenen Pakete wird ein System von "Credits" verwendet, dessen Einzelheiten im Folgenden aufgeführt sind:
Gratispaket(50 Credits pro Monat)
Startup(500 Credits pro Monat für $9 und 6.000 Credits pro Jahr für $99)
Boost(2.500 Credits pro Monat für $24 und 30.000 Credits pro Jahr für $240)
Wachstum(5.000 Credits pro Monat für $39 und 60.000 Credits pro Jahr für $390)
*Business(25.000 Credits pro Monat für \$99)
Auch die Dateigröße ist begrenzt: Das kostenlose Paket hat eine Grenze von 1 MB pro Datei, während die Grenze für die anderen Pakete bei 5 MB pro Datei liegt.
Weitere Informationen und Preise finden Sie auf der WebsitePDFShift-Preisseite.
10. Schlussfolgerung
IronPDF ist eine kostenlose Anwendung für Indie-Entwickler, die eine Vielzahl von Funktionen und die Möglichkeit bietet, PDF-Dateien zu ändern und in andere Formate zu konvertieren. IronPDF bietet die besten Bearbeitungs- und Formatierungswerkzeuge für die PDF-Verarbeitung. Es wandelt die HTML-zu-PDF-Ergebnisse in eine Vektordatei um, die für den hochwertigen kommerziellen Druck geeignet ist. Als Ergebnis erhalten Sie eine PDF-Datei, die klar und qualitativ hochwertig ist. Weitere Einzelheiten finden Sie in derIron Software Lizenzierungs- und Preisinformationen.
PDFShift ist eine API für die HTML-zu-PDF-Konvertierung, die qualitativ hochwertig, originalgetreu und leistungsstark ist. Es bietet einen leicht zu erlernenden Endpunkt mit einer Reihe von Werkzeugen, die einen kompletten Satz von Funktionen ansprechen, sowie ein Paket für mehrere Sprachen. PDFShift verwendet postMessage, um Anfragen an den Server zu senden, der die parallele Konvertierung von Dokumenten durchführen kann - das bedeutet, dass Sie mehrere Dokumente gleichzeitig konvertieren können.
IronPDF-Lizenzen sind entwicklerbasiert, d. h. Sie sollten immer eine Lizenz auf der Grundlage der Anzahl der Entwickler erwerben, die das Produkt verwenden werden. PDFShift-Lizenzen hingegen sind monatlich und jährlich kreditbasiert, d. h. Sie erhalten pro Monat bestimmte Kredite auf der Grundlage Ihres abonnierten Pakets. IronPDF unterstützt OME und SaaS-Verteilung, was bei PDFShift nicht der Fall ist. IronPDF-Lizenzen werden einmalig erworben und können ein Leben lang genutzt werden, während PDFShift monatliche und jährliche Lizenzen anbietet.
Nach einem kurzen Vergleich der beiden Tools können wir feststellen, dass die IronPDF-Bibliothek wesentlich mehr Funktionen bietet als PDFShift. PDFShift bietet nur wenige Funktionen zur Bearbeitung von PDFs. IronPDF wandelt URLs mit nur drei Zeilen Code in PDF um, während PDFShift viel mehr Codezeilen benötigt, um die gleiche Aufgabe zu erfüllen. Die Integration von IronPDF ist einfach und kann in wenigen Minuten durchgeführt werden. PDFShift arbeitet in einem Cloud-basierten System und muss nicht integriert werden; es hängt jedoch von anderen APIs wie Rest Sharp ab und ist daher in der Tat ein komplexes Verfahren.
Darüber hinaus bietet Iron Software derzeit ein Paket mit fünf Werkzeugen zum Preis von nur zwei an. Die in der Iron Suite enthaltenen Tools sind:
IronBarcode
IronXL
IronOCR
IronPDF
IronWebScraper
Bitte besuchen Sie dieseIron Suite Seite um die IRONSUITE zu erkunden.
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
< PREVIOUS Ein Vergleich zwischen IronPDF und NReco .NET Core
NÄCHSTES > Ein Vergleich zwischen IronPDF und SautinSoft PDF Focus