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");
Accusoft Prizmdoc PDF Viewer Anleitung und Vergleich
Chipego Kalinda
2. September 2021
Teilen Sie:
Accusoft PDF Viewer bietet HTML-zu-PDF-Funktionen und andere PDF-Bearbeitungs- und Manipulationsaufgaben für .NET. IronPDF erledigt dieselben Aufgaben auch programmatisch und spart Ihnen so Zeit und Mühe bei Ihren C#-Projekten.
Lassen Sie uns die beiden vergleichen und herausfinden, was für Ihr Projekt am besten geeignet ist.
IronPDF ist eine C# HTML-zu-PDF-Bibliothek. Es ermöglicht Ingenieuren, Aufgaben zu erledigen, einschließlich der Erstellung von PDF-Dateien aus Quellen wie HTML-String, WebPage, URL, sowie die Einstellung der Eigenschaften wie Wasserzeichen, Lesezeichen, Kopf-und Fußzeile usw. Wir können auch mehrere PDF-Dateien zu einer einzigen zusammenführen oder PDF-Seiten in Bilder umwandeln oder umgekehrt.
Es ist kostenlos für die Entwicklung und bietet eine 30-tägige Testversion, um mit Ihrem Projekt in Betrieb zu gehen.
Sie können ein Dateiprojekt von diesem Link herunterladen.
Über Accusoft PrizmDoc Viewer
PrizmDoc Viewer ist eine REST-API, die verwendet wird, um mit PDF-Dateien zu arbeiten und sie aus der Ferne in andere Formate zu konvertieren. PrizmDoc kann über 100 verschiedene Dateiformate in PDF und PDF in PNG, JPG, TIFF und SVG konvertieren. Es kann auch verwendet werden, um verschiedene Arten von elektronischen Signaturen in die Anwendungen einzubinden.
Vergleichstabelle
IronPDF
PrizmDoc Viewer
Work with PDF files programmatically.
Work with PDF files programmatically.
Supports .NET core with Window, Mac, or Linux.
Supports .NET Core using Window, Mac, or Linux.
Works Locally
Sends Documents to a remote server.
Work with or without using Asynchronous Programming.
Must use Asynchronous Programming using `System.Threading.Tasks`.
Easily work offline once we install IronPF in our system.
Must connect with the internet to send the request to the PrizmDoc Viewer server (Cloud-hosted or self-hosted).
Provides many predefined functions.
Provides some predefined functions.
Often requires minimal lines of code.
Often requires many lines of code.
Unlimited conversions per project in each license plan.
Limited number of transactions in each cloud-hosted license plan.
Free for development with no time limit.
Only 300 transactions with trial.
Installieren wir die beiden und vergleichen wir den Code.
Schritt 1: Installation
1. Installieren Sie die IronPDF-Bibliothek
Es gibt zwei Möglichkeiten, IronPDF in Ihrem Projekt zu installieren, wobei es keinen Unterschied macht, welche Sie wählen.
1.1. Laden Sie die IronPDF DLL herunter
Laden Sie IronPDF.dll herunter und fügen Sie deren Referenz zu Ihrem Projekt hinzu. Nach diesem Schritt können Sie den Namespace IronPdf auf folgende Weise einfach aufrufen:
using IronPdf;
Jetzt können Sie problemlos auf die bereitgestellten Funktionen und Klassen von IronPDF zugreifen.
1.2 Installation über NuGet Package Manager
Paketmanager-Konsole:
Wenn Sie die Paketmanager-Konsole verwenden, führen Sie den folgenden Befehl aus:
:ProductInstall
Verwalten Sie Pakete für die Lösung:
Wenn Sie die GUI des NuGet-Paketmanagers verwenden, durchsuchen Sie die Suchleiste nach IronPDF und installieren Sie es.
Installieren Sie den PrizmDoc Viewer von Accusoft
Es gibt zwei Teile des PrizmDoc Viewer, einer ist die serverseitige Komponente namens PrizmDoc Server, die als Restful-API fungiert. Das andere ist unser Projekt, mit dem wir auf diese API zugreifen und die Antwort erhalten.
Auf den PrizmDoc-Server zugreifen
Wie der Name bereits vermuten lässt, handelt es sich um eine serverseitige Anwendung, die die grundlegende Information zusammen mit dem Dokument als Anforderung (Eingabe) erhält und das Dokument in eine PDF-Datei umwandelt, um anschließend die konvertierte PDF-Datei als Antwort (Ausgabe) an den Client zu senden. Es ist das technische Herzstück des Produkts, das eine Maschine zur Verarbeitung und Konvertierung von Dokumenten ist. Sie kann auf zwei verschiedene Arten verwendet werden, wobei es keinen Unterschied macht, welche Sie verwenden, da beide die gleiche Programmierstruktur und -technik haben:
Selbstgehostet:
Für diese Option müssen Sie Ihren Server einrichten, und Sie können PrizmDoc Server herunterladen und dann installieren. Mehr erfahren über die Installation von PrizmDoc Server auf Windows.
Hinweis: Es wird mindestens 32 GB RAM und eine 4-Kern-CPU benötigt, andernfalls können Sie eine schlechte Erfahrung machen.
Cloud-Hosted:
Es handelt sich um einen cloudbasierten Dienst des PrizmDoc Viewers und Sie müssen Ihren Server nicht einrichten. Wir werden sie für unseren Vergleich verwenden. Um dies zu tun, erstellen Sie Ihr Konto, und dann wird die Startseite geöffnet. Sie können den API-Schlüssel aus dem API-Schlüssel-Menü kopieren, wir werden später sehen, wie man ihn verwendet.
Zunächst werden wir die grundlegende Struktur sehen, wie man mit PrizmDoc Viewer arbeitet, um die Dokumente in eine PDF-Datei zu konvertieren, und wir werden direkt mit dem Accusoft-Server unter Verwendung von WebClient() in einer C#-Konsolenanwendung interagieren.
Hinweis: Das folgende Beispiel dient ausschließlich dem konzeptionellen Verständnis, wie PrizmDoc PDF-Dateien verarbeitet. Es ist etwas lang, daher kein Problem, wenn Sie dieses Beispiel überspringen und direkt zum Vergleich übergehen.
Accusoft Arbeitsstruktur
In diesem Beispiel werden wir die myWebpage.html in die sample.pdf-Datei umwandeln.
Hinweis: Wir müssen die Newtonsoft-Bibliothek installieren und die Referenz im Projekt hinzufügen.
Fügen Sie zunächst die folgenden Bibliotheken zu Ihrem Projekt hinzu:
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;//install Newtonsoft
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;//install Newtonsoft
Erstellen Sie dann eine öffentliche Variable Accusoft API Key und fügen Sie Ihren API-Schlüssel wie folgt ein:
static string ApiKey= "Your-API-KEY";
static string ApiKey= "Your-API-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
Es gibt 3 Schritte, um eine PDF-Datei mit PrizmDoc Viewer zu bearbeiten:
Laden Sie eine Datei auf den PrizmDoc-Server hoch.
Konvertieren Sie die hochgeladene Datei.
Konvertierte Datei vom PrizmDoc-Server herunterladen.
Wir werden also für jeden Schritt eine eigene Funktion erstellen.
static void Main(string [] args)
{
//---Upload file to Server---
JObject uploadResults = UploadToServer("myWebpage.html").Result;
string fileID = (string)uploadResults.SelectToken("fileId");
string affinityToken = (string)uploadResults.SelectToken("affinityToken");
//---Convert the uploaded file to PDF---
JObject convertResults = Convert(affinityToken, fileID).Result;
string processId = (string)convertResults.SelectToken("processId");
affinityToken = (string)convertResults.SelectToken("affinityToken");
//---Check the status that conversion is completed---
JObject convertStatusresults = ConvertStatus(processId, affinityToken).Result;
string convertStatus = (string)convertResults.SelectToken("state");
//---Continuously checking whether conversion completed or not until completed---
while (!(convertStatus.Equals("complete")))
{
System.Threading.Thread.Sleep(30000);
convertStatusresults = ConvertStatus(processId, affinityToken).Result;
convertStatus = (string)convertStatusresults.SelectToken("state");
}
//---Download the converted file from server---
string newFileID = (string)convertStatusresults.SelectToken("output.results [0].fileId");
DownloadFromServer(affinityToken, newFileID, "sample.pdf").Wait();
Console.WriteLine("PDF file created successfully...!");
Console.ReadKey();
}
static void Main(string [] args)
{
//---Upload file to Server---
JObject uploadResults = UploadToServer("myWebpage.html").Result;
string fileID = (string)uploadResults.SelectToken("fileId");
string affinityToken = (string)uploadResults.SelectToken("affinityToken");
//---Convert the uploaded file to PDF---
JObject convertResults = Convert(affinityToken, fileID).Result;
string processId = (string)convertResults.SelectToken("processId");
affinityToken = (string)convertResults.SelectToken("affinityToken");
//---Check the status that conversion is completed---
JObject convertStatusresults = ConvertStatus(processId, affinityToken).Result;
string convertStatus = (string)convertResults.SelectToken("state");
//---Continuously checking whether conversion completed or not until completed---
while (!(convertStatus.Equals("complete")))
{
System.Threading.Thread.Sleep(30000);
convertStatusresults = ConvertStatus(processId, affinityToken).Result;
convertStatus = (string)convertStatusresults.SelectToken("state");
}
//---Download the converted file from server---
string newFileID = (string)convertStatusresults.SelectToken("output.results [0].fileId");
DownloadFromServer(affinityToken, newFileID, "sample.pdf").Wait();
Console.WriteLine("PDF file created successfully...!");
Console.ReadKey();
}
Shared Sub Main(ByVal args() As String)
'---Upload file to Server---
Dim uploadResults As JObject = UploadToServer("myWebpage.html").Result
Dim fileID As String = CStr(uploadResults.SelectToken("fileId"))
Dim affinityToken As String = CStr(uploadResults.SelectToken("affinityToken"))
'---Convert the uploaded file to PDF---
Dim convertResults As JObject = Convert(affinityToken, fileID).Result
Dim processId As String = CStr(convertResults.SelectToken("processId"))
affinityToken = CStr(convertResults.SelectToken("affinityToken"))
'---Check the status that conversion is completed---
Dim convertStatusresults As JObject = ConvertStatus(processId, affinityToken).Result
Dim convertStatus As String = CStr(convertResults.SelectToken("state"))
'---Continuously checking whether conversion completed or not until completed---
Do While Not (convertStatus.Equals("complete"))
System.Threading.Thread.Sleep(30000)
convertStatusresults = ConvertStatus(processId, affinityToken).Result
convertStatus = CStr(convertStatusresults.SelectToken("state"))
Loop
'---Download the converted file from server---
Dim newFileID As String = CStr(convertStatusresults.SelectToken("output.results [0].fileId"))
DownloadFromServer(affinityToken, newFileID, "sample.pdf").Wait()
Console.WriteLine("PDF file created successfully...!")
Console.ReadKey()
End Sub
1. Datei auf den Server hochladen:
public static async Task<JObject> UploadToServer(string fileToUpload)
{
FileInfo input = new FileInfo(fileToUpload);
if (input == null)
{
throw new ArgumentException("Missing parameter input", "input");
}
var fileName = input.Name;
var endpoint = new Uri("https://api.accusoft.com/PCCIS/V1/WorkFile");
using (var client = new WebClient())
{
client.Headers.Add("acs-api-key", ApiKey);
client.Headers.Add("Content-Type", "application/octet-stream");
using (var reader = new BinaryReader(input.OpenRead()))
{
var data = reader.ReadBytes((int)reader.BaseStream.Length);
var results = await client.UploadDataTaskAsync(endpoint, "POST", data);
string getResult = "";
getResult = Encoding.ASCII.GetString(results);
return JObject.Parse(getResult);
}
}
}
public static async Task<JObject> UploadToServer(string fileToUpload)
{
FileInfo input = new FileInfo(fileToUpload);
if (input == null)
{
throw new ArgumentException("Missing parameter input", "input");
}
var fileName = input.Name;
var endpoint = new Uri("https://api.accusoft.com/PCCIS/V1/WorkFile");
using (var client = new WebClient())
{
client.Headers.Add("acs-api-key", ApiKey);
client.Headers.Add("Content-Type", "application/octet-stream");
using (var reader = new BinaryReader(input.OpenRead()))
{
var data = reader.ReadBytes((int)reader.BaseStream.Length);
var results = await client.UploadDataTaskAsync(endpoint, "POST", data);
string getResult = "";
getResult = Encoding.ASCII.GetString(results);
return JObject.Parse(getResult);
}
}
}
Public Shared Async Function UploadToServer(ByVal fileToUpload As String) As Task(Of JObject)
Dim input As New FileInfo(fileToUpload)
If input Is Nothing Then
Throw New ArgumentException("Missing parameter input", "input")
End If
Dim fileName = input.Name
Dim endpoint = New Uri("https://api.accusoft.com/PCCIS/V1/WorkFile")
Using client = New WebClient()
client.Headers.Add("acs-api-key", ApiKey)
client.Headers.Add("Content-Type", "application/octet-stream")
Using reader = New BinaryReader(input.OpenRead())
Dim data = reader.ReadBytes(CInt(reader.BaseStream.Length))
Dim results = Await client.UploadDataTaskAsync(endpoint, "POST", data)
Dim getResult As String = ""
getResult = Encoding.ASCII.GetString(results)
Return JObject.Parse(getResult)
End Using
End Using
End Function
2. Konvertieren Sie die hochgeladene Datei in PDF:
public static async Task<JObject> Convert(string affinityToken, string fileID)
{
var endpoint = new Uri("https://api.accusoft.com/v2/contentConverters");
using (var client = new WebClient())
{
client.Headers.Add("Content-Type", "application/json");
client.Headers.Add("acs-api-key", ApiKey);
client.Headers.Add("Accusoft-Affinity-Token", affinityToken);
JObject myJson =
new JObject(
new JProperty("input",
new JObject(
new JProperty("sources",
new JArray(
new JObject(
new JProperty("fileId", fileID)
)
)
),
new JProperty("dest",
new JObject(
new JProperty("format", "pdf")
)
)
)
)
);
string results = await client.UploadStringTaskAsync(endpoint, "POST", myJson.ToString());
return JObject.Parse(results);
}
}
public static async Task<JObject> Convert(string affinityToken, string fileID)
{
var endpoint = new Uri("https://api.accusoft.com/v2/contentConverters");
using (var client = new WebClient())
{
client.Headers.Add("Content-Type", "application/json");
client.Headers.Add("acs-api-key", ApiKey);
client.Headers.Add("Accusoft-Affinity-Token", affinityToken);
JObject myJson =
new JObject(
new JProperty("input",
new JObject(
new JProperty("sources",
new JArray(
new JObject(
new JProperty("fileId", fileID)
)
)
),
new JProperty("dest",
new JObject(
new JProperty("format", "pdf")
)
)
)
)
);
string results = await client.UploadStringTaskAsync(endpoint, "POST", myJson.ToString());
return JObject.Parse(results);
}
}
Public Shared Async Function Convert(ByVal affinityToken As String, ByVal fileID As String) As Task(Of JObject)
Dim endpoint = New Uri("https://api.accusoft.com/v2/contentConverters")
Using client = New WebClient()
client.Headers.Add("Content-Type", "application/json")
client.Headers.Add("acs-api-key", ApiKey)
client.Headers.Add("Accusoft-Affinity-Token", affinityToken)
Dim myJson As New JObject(New JProperty("input", New JObject(New JProperty("sources", New JArray(New JObject(New JProperty("fileId", fileID)))), New JProperty("dest", New JObject(New JProperty("format", "pdf"))))))
Dim results As String = Await client.UploadStringTaskAsync(endpoint, "POST", myJson.ToString())
Return JObject.Parse(results)
End Using
End Function
Der folgende JSON ist der resultierende Wert des myJson-Objekts:
Public Shared Async Function ConvertStatus(ByVal processId As String, ByVal affinityToken As String) As Task(Of JObject)
Dim endpoint As String = "https://api.accusoft.com/v2/contentConverters/" & processId
Using client = New WebClient()
client.BaseAddress = endpoint
client.Headers.Add("acs-api-key", ApiKey)
client.Headers.Add("Accusoft-Affinity-Token", affinityToken)
Dim results As String = Await client.DownloadStringTaskAsync(endpoint)
Return JObject.Parse(results)
End Using
End Function
3. Laden Sie die konvertierte Datei vom Server herunter
public static async Task DownloadFromServer(string affinityToken, string fileId, string outfile)
{
var endpoint = new Uri("https://api.accusoft.com/PCCIS/V1/WorkFile/" + fileId);
using (var client = new WebClient())
{
client.Headers.Add("acs-api-key", ApiKey);
client.Headers.Add("Accusoft-Affinity-Token", affinityToken);
FileInfo output = new FileInfo(outfile);
using (var writeStream = output.Create())
{
var results = await client.DownloadDataTaskAsync(endpoint);
await writeStream.WriteAsync(results, 0, results.Length);
}
}
}
public static async Task DownloadFromServer(string affinityToken, string fileId, string outfile)
{
var endpoint = new Uri("https://api.accusoft.com/PCCIS/V1/WorkFile/" + fileId);
using (var client = new WebClient())
{
client.Headers.Add("acs-api-key", ApiKey);
client.Headers.Add("Accusoft-Affinity-Token", affinityToken);
FileInfo output = new FileInfo(outfile);
using (var writeStream = output.Create())
{
var results = await client.DownloadDataTaskAsync(endpoint);
await writeStream.WriteAsync(results, 0, results.Length);
}
}
}
Public Shared Async Function DownloadFromServer(ByVal affinityToken As String, ByVal fileId As String, ByVal outfile As String) As Task
Dim endpoint = New Uri("https://api.accusoft.com/PCCIS/V1/WorkFile/" & fileId)
Using client = New WebClient()
client.Headers.Add("acs-api-key", ApiKey)
client.Headers.Add("Accusoft-Affinity-Token", affinityToken)
Dim output As New FileInfo(outfile)
Using writeStream = output.Create()
Dim results = Await client.DownloadDataTaskAsync(endpoint)
Await writeStream.WriteAsync(results, 0, results.Length)
End Using
End Using
End Function
Das obige Beispiel erfordert viel Aufwand! Um den Arbeitsaufwand zu minimieren, hat Accusoft eine .NET-Bibliothek namens Accusoft.PrizmDocServerSDK eingeführt. Diese ist ein Wrapper um die PrizmDoc Server REST API. Schauen wir uns an, wie wir diese Bibliothek in unserem .NET-Projekt installieren und verwenden können
Installieren Sie das Accusoft.PrizmDocServerSDK
Es gibt zwei Möglichkeiten, den Wrapper zu installieren.
Paketmanager-Konsole:
Wenn Sie die Paketmanager-Konsole verwenden, führen Sie den folgenden Befehl aus:
Wenn Sie die GUI des NuGet Package Manager verwenden, suchen Sie im Suchfeld nach Accusoft.PrizmDocServerSDK und installieren Sie es.
Jetzt können Sie problemlos auf den Accusoft.PrizmDocServer-Namensraum zugreifen und ihn nutzen, indem Sie ihn aufrufen:
using Accusoft.PrizmDocServer;
Anleitungen Tutorials
2. IronPDF vs. PrizmDoc Viewer Code-Vergleich
Nachdem Sie die Einführung und die Installation der beiden Komponenten gelesen haben, ist es nun an der Zeit, mit beiden Komponenten zu arbeiten. Dazu werden wir einige Anwendungsfälle nehmen und sie mit beiden Komponenten umsetzen. Wir hoffen, dass dies eine Möglichkeit bietet, beide Programmierstrukturen zu verstehen und zu entscheiden, welche die beste für Ihr Projekt ist.
3. HTML in PDF-Datei konvertieren
In unserem ersten Vergleich betrachten wir den Anwendungsfall, dass wir eine Webseite namens myWebPage.html haben und daraus eine PDF-Datei erstellen möchten, die dann am Zielort gespeichert werden soll.
3.1. IronPDF HTML zu PDF
/**
HTML to PDF
anchor-ironpdf-html-to-pdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//render html file to pdf
using var PDF = converter.RenderHTMLFileAsPdf("myWebPage.html");
//save to target location
PDF.SaveAs("sample.pdf");
}
/**
HTML to PDF
anchor-ironpdf-html-to-pdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//render html file to pdf
using var PDF = converter.RenderHTMLFileAsPdf("myWebPage.html");
//save to target location
PDF.SaveAs("sample.pdf");
}
'''
'''HTML to PDF
'''anchor-ironpdf-html-to-pdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create rendering converter
Dim converter = New ChromePdfRenderer()
'render html file to pdf
Dim PDF = converter.RenderHTMLFileAsPdf("myWebPage.html")
'save to target location
PDF.SaveAs("sample.pdf")
End Sub
Der obige Code wird eine sample.pdf-Datei erstellen und im bin>debug-Ordner des Projekts speichern.
Sie können auch einen beliebigen Pfad angeben, wie folgt: PDF.SaveAs("E:/sample.pdf");
Mehr erfahren darüber, wie man mit IronPDF arbeitet, um mit PDF-Dateien umzugehen.
Jetzt werden wir die gleiche Aufgabe mit dem PrizmDoc Viewer durchführen, um den Vergleich zu erleichtern.
3.2. PrizmDoc Viewer HTML zu PDF
In der PrizmDoc Viewer-Installation haben wir bereits besprochen, wie man den Accusoft API Key erhält, und jetzt werden wir sehen, wie man ihn verwendet.
Zunächst senden wir eine Anfrage an den PrizmDoc-Server und erhalten eine Antwort von ihm. Dieser Prozess wird einige Zeit in Anspruch nehmen, weshalb wir die asynchrone Programmierung verwenden müssen.
Hinweis: Stellen Sie sicher, dass Ihr System mit dem Internet verbunden ist, während Sie PDF-Dateien mit den Cloud-Diensten von PrizmDoc Viewer erstellen.
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;
static void Main(string [] args)
{
ChromePdfRenderer().GetAwaiter().GetResult();
}
private static async Task ChromePdfRenderer()
{
//instantiate PrizmDocServerClient object
var prizmDocServer = new PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY");
// specify HTML file and convert it to a PDF.
ConversionResult result = await prizmDocServer.ConvertToPdfAsync("myWebPage.html");
// Save pdf file to the target location
await result.RemoteWorkFile.SaveAsync("sample.pdf");
}
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;
static void Main(string [] args)
{
ChromePdfRenderer().GetAwaiter().GetResult();
}
private static async Task ChromePdfRenderer()
{
//instantiate PrizmDocServerClient object
var prizmDocServer = new PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY");
// specify HTML file and convert it to a PDF.
ConversionResult result = await prizmDocServer.ConvertToPdfAsync("myWebPage.html");
// Save pdf file to the target location
await result.RemoteWorkFile.SaveAsync("sample.pdf");
}
Imports Accusoft.PrizmDocServer
Imports Accusoft.PrizmDocServer.Conversion
Shared Sub Main(ByVal args() As String)
ChromePdfRenderer().GetAwaiter().GetResult()
End Sub
Private Shared Async Function ChromePdfRenderer() As Task
'instantiate PrizmDocServerClient object
Dim prizmDocServer = New PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY")
' specify HTML file and convert it to a PDF.
Dim result As ConversionResult = Await prizmDocServer.ConvertToPdfAsync("myWebPage.html")
' Save pdf file to the target location
Await result.RemoteWorkFile.SaveAsync("sample.pdf")
End Function
Anhand dieser Beispiele sehen wir, dass IronPDF eine einfachere Methode zur Erstellung von PDF-Dateien ist und nicht so viel Zeit in Anspruch nimmt.
4. Bild zu PDF
In diesem Vergleich nehmen wir einen Anwendungsfall, bei dem wir eine PDF-Datei mit dem Bild erstellen müssen, das sich im debug-Ordner des Projekts befindet. Beginnen wir mit IronPDF.
4.1. IronPDF Image to PDF
/**
Image to PDF
anchor-ironpdf-image-to-pdf
**/
using IronPdf;
static void Main(string [] args)
{
//specify the image to be convert
using var converted = ImageToPdfConverter.ImageToPdf("google.png");
//save PDF file to the target location
converted.SaveAs("sample.pdf");
}
/**
Image to PDF
anchor-ironpdf-image-to-pdf
**/
using IronPdf;
static void Main(string [] args)
{
//specify the image to be convert
using var converted = ImageToPdfConverter.ImageToPdf("google.png");
//save PDF file to the target location
converted.SaveAs("sample.pdf");
}
'''
'''Image to PDF
'''anchor-ironpdf-image-to-pdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'specify the image to be convert
Dim converted = ImageToPdfConverter.ImageToPdf("google.png")
'save PDF file to the target location
converted.SaveAs("sample.pdf")
End Sub
Ausgabe:
Dieser Screenshot zeigt eine neu erstellte PDF-Datei sample.pdf, die mit dem obigen Code erstellt wurde:
Wir können sehen, wie einfach es ist, mit IronPDF eine PDF-Datei aus einem Bild zu erstellen. Jetzt werden wir die gleiche Aufgabe mit dem PrizmDoc Viewer durchführen und die erzeugte PDF-Datei sehen.
4.2. PrizmDoc Viewer Bild zu PDF
static void Main(string [] args)
{
ImageToPDF().GetAwaiter().GetResult();
}
private static async Task ImageToPDF()
{
//instantiate PrizmDocServerClient object
var prizmDocServer = new PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY");
//specify the image to be convert
ConversionResult results = await prizmDocServer.ConvertToPdfAsync("google.png");
//save pdf file to the target location
await results.RemoteWorkFile.SaveAsync("sample.pdf");
}
static void Main(string [] args)
{
ImageToPDF().GetAwaiter().GetResult();
}
private static async Task ImageToPDF()
{
//instantiate PrizmDocServerClient object
var prizmDocServer = new PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY");
//specify the image to be convert
ConversionResult results = await prizmDocServer.ConvertToPdfAsync("google.png");
//save pdf file to the target location
await results.RemoteWorkFile.SaveAsync("sample.pdf");
}
Shared Sub Main(ByVal args() As String)
ImageToPDF().GetAwaiter().GetResult()
End Sub
Private Shared Async Function ImageToPDF() As Task
'instantiate PrizmDocServerClient object
Dim prizmDocServer = New PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY")
'specify the image to be convert
Dim results As ConversionResult = Await prizmDocServer.ConvertToPdfAsync("google.png")
'save pdf file to the target location
Await results.RemoteWorkFile.SaveAsync("sample.pdf")
End Function
Ausgabe: Dieser Screenshot zeigt eine neu erstellte PDF-Datei sample.pdf aus dem obigen Code:
4.3. Bild-zu-PDF-Code-Vergleich
Wir sehen, dass wir mit IronPDF nur 2 einfache Codezeilen schreiben müssen. Andererseits müssen wir bei der Verwendung des PrizmDoc-Servers viele Codezeilen mit asynchroner Programmierung schreiben. Die Ausgabe von IronPDF liefert auch automatisch ein brauchbares ganzseitiges Dokument.
5. PDF-Dateien zusammenführen
In diesem Vergleich nehmen wir an, dass wir drei PDF-Dateien mit den Namen A.pdf, B.pdf und C.pdf haben. Wir wollen sie in einer PDF-Datei zusammenführen, und wir können diese Aufgabe mit beiden Komponenten erledigen. Zunächst werden wir sehen, wie diese Aufgabe mit IronPDF durchgeführt werden kann.
5.1. IronPDF PDF-Dateien zusammenführen
/**
Merge PDF Files
anchor-ironpdf-merge-pdf-files
**/
using IronPdf;
using System.Collections.Generic;
static void Main(string [] args)
{
//create rendering converter
var Renderer = new IronPdf.ChromePdfRenderer();
//create a list of pdf files
var PDFs = new List<PdfDocument>();
PDFs.Add(PdfDocument.FromFile("A.pdf"));
PDFs.Add(PdfDocument.FromFile("B.pdf"));
PDFs.Add(PdfDocument.FromFile("C.pdf"));
//merge the list of pdf file
using PdfDocument PDF = PdfDocument.Merge(PDFs);
//save merged file to the target location
PDF.SaveAs("sample.pdf");
foreach(var pdf in PDFs){
pdf.Dispose();
}
}
/**
Merge PDF Files
anchor-ironpdf-merge-pdf-files
**/
using IronPdf;
using System.Collections.Generic;
static void Main(string [] args)
{
//create rendering converter
var Renderer = new IronPdf.ChromePdfRenderer();
//create a list of pdf files
var PDFs = new List<PdfDocument>();
PDFs.Add(PdfDocument.FromFile("A.pdf"));
PDFs.Add(PdfDocument.FromFile("B.pdf"));
PDFs.Add(PdfDocument.FromFile("C.pdf"));
//merge the list of pdf file
using PdfDocument PDF = PdfDocument.Merge(PDFs);
//save merged file to the target location
PDF.SaveAs("sample.pdf");
foreach(var pdf in PDFs){
pdf.Dispose();
}
}
'''
'''Merge PDF Files
'''anchor-ironpdf-merge-pdf-files
'''*
Imports IronPdf
Imports System.Collections.Generic
Shared Sub Main(ByVal args() As String)
'create rendering converter
Dim Renderer = New IronPdf.ChromePdfRenderer()
'create a list of pdf files
Dim PDFs = New List(Of PdfDocument)()
PDFs.Add(PdfDocument.FromFile("A.pdf"))
PDFs.Add(PdfDocument.FromFile("B.pdf"))
PDFs.Add(PdfDocument.FromFile("C.pdf"))
'merge the list of pdf file
Using PDF As PdfDocument = PdfDocument.Merge(PDFs)
'save merged file to the target location
PDF.SaveAs("sample.pdf")
'INSTANT VB NOTE: The variable pdf was renamed since Visual Basic will not allow local variables with the same name as parameters or other local variables:
For Each .pdf_Conflict In PDFs
.pdf_Conflict.Dispose()
Next pdf_Conflict
End Using
End Sub
Der obige Code wird eine sample.pdf-Datei erstellen, die die Kombination von A.pdf, B.pdf und C.pdf ist.
Jetzt werden wir die gleiche Aufgabe mit PrizmDoc Viewer durchführen.
5.2. PrizmDoc Viewer PDF-Dateien zusammenführen
using System.Threading.Tasks;
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;
static void Main(string [] args)
{
PdfMerge().GetAwaiter().GetResult();
}
private static async Task PdfMerge()
{
//instantiate PrizmDocServerClient object
var prizmDocServer = new PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY");
//pass the list of pdf files to PrizmDoc Server
ConversionResult result = await prizmDocServer.CombineToPdfAsync(
new []{
new ConversionSourceDocument("A.pdf"),
new ConversionSourceDocument("B.pdf"),
new ConversionSourceDocument("C.pdf"),
});
//save merged file to the target location
await result.RemoteWorkFile.SaveAsync("sample.pdf");
}
using System.Threading.Tasks;
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;
static void Main(string [] args)
{
PdfMerge().GetAwaiter().GetResult();
}
private static async Task PdfMerge()
{
//instantiate PrizmDocServerClient object
var prizmDocServer = new PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY");
//pass the list of pdf files to PrizmDoc Server
ConversionResult result = await prizmDocServer.CombineToPdfAsync(
new []{
new ConversionSourceDocument("A.pdf"),
new ConversionSourceDocument("B.pdf"),
new ConversionSourceDocument("C.pdf"),
});
//save merged file to the target location
await result.RemoteWorkFile.SaveAsync("sample.pdf");
}
Imports System.Threading.Tasks
Imports Accusoft.PrizmDocServer
Imports Accusoft.PrizmDocServer.Conversion
Shared Sub Main(ByVal args() As String)
PdfMerge().GetAwaiter().GetResult()
End Sub
Private Shared Async Function PdfMerge() As Task
'instantiate PrizmDocServerClient object
Dim prizmDocServer = New PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY")
'pass the list of pdf files to PrizmDoc Server
Dim result As ConversionResult = Await prizmDocServer.CombineToPdfAsync({
New ConversionSourceDocument("A.pdf"),
New ConversionSourceDocument("B.pdf"),
New ConversionSourceDocument("C.pdf")
})
'save merged file to the target location
Await result.RemoteWorkFile.SaveAsync("sample.pdf")
End Function
Der obige Code wird auch eine sample.pdf-Datei erstellen, die die Kombination der A.pdf-, B.pdf- und C.pdf-Dateien ist.
6. PDF-Kopfzeile und -Fußzeile
In diesem Vergleich nehmen wir an, dass wir eine einfache Webseite namens myWebPage.html haben, die das folgende HTML und CSS enthält:
Wir wollen diese Webseite in eine PDF-Datei umwandeln und die folgenden Kopf- und Fußzeileneigenschaften einstellen:
Seitentitel auf der linken Seite der Kopfzeile,
DateTime auf der rechten Seite der Kopfzeile
Seitenzahl von Gesamtseiten auf der rechten Seite der Fußzeile.
Zuerst werden wir uns ansehen, wie man mit IronPDF arbeitet, um die Kopf- und Fußzeile einzustellen.
6.1. IronPDF PDF-Kopf- und Fußzeile
Um mit dem Kopf- und Fußzeilen einer PDF-Datei umzugehen, stellt IronPDF eine Eigenschaft in der ChromePdfRenderer-Klasse namens RenderingOptions zur Verfügung, die wie folgt verwendet werden kann:
Wir können die folgenden Eigenschaften beim Initialisieren von TextHeaderFooter() festlegen:
CenterText, um den Text in der Mitte der Kopfzeile oder Fußzeile zu drucken.
LeftText, um den Text auf der linken Seite des Headers oder Footers zu drucken.
RightText, um den Text auf der rechten Seite der Kopf- oder Fußzeile zu drucken.
DrawDividerLine zeichnet eine Linie, die den Seiteninhalt vom Header oder Footer trennt.
FontFamily, um die Schriftfamilie von Kopf- oder Fußzeile anzugeben.
FontSize, um die Schriftgröße der Kopf- oder Fußzeile anzugeben.
Abstände Sie passen den Abstand zwischen Seiteninhalt und Kopf- oder Fußzeile an.
Einige der folgenden vordefinierten Attribute sind sehr hilfreich, um den Inhalt von Kopf- und Fußzeilen festzulegen. Es kann in geschweiften Klammern { } wie folgt geschrieben werden:
{page} druckt die aktuelle Seitenzahl in der Kopf- oder Fußzeile.
{total-pages} druckt die Gesamtanzahl der Seiten in der Kopf- oder Fußzeile.
{url} wird verwendet, um die URL der gerenderten Seite zu drucken.
{date} druckt das aktuelle Datum im Kopf- oder Fußzeilenbereich.
{time} druckt die aktuelle Uhrzeit in der Kopf- oder Fußzeile.
{html-title} druckt den Titel der gerenderten Webseite im Kopf- oder Fußzeilenbereich
{pdf-title} druckt den Dokumenttitel in der Kopf- oder Fußzeile.
Mehr erfahren im Detail, wie man mit Header und Footer mit IronPDF arbeitet.
Anhand des folgenden Beispiels soll gezeigt werden, wie die oben genannten Eigenschaften verwendet werden können, um die Kopf- und Fußzeile einer PDF-Datei festzulegen.
/**
Set Header and Footer
anchor-ironpdf-pdf-header-and-footer
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//setting Header properties
converter.RenderingOptions.TextHeader = new TextHeaderFooter()
{
DrawDividerLine = true,
LeftText = "Page Title",
RightText = "{date} {time}",
FontSize = 13
};
//setting footer properties
converter.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
FontSize = 12
};
//specify the file to be converted
using var PDF = converter.RenderHTMLFileAsPdf("myWebPage.html");
//save to target location
PDF.SaveAs("sample.pdf");
}
/**
Set Header and Footer
anchor-ironpdf-pdf-header-and-footer
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//setting Header properties
converter.RenderingOptions.TextHeader = new TextHeaderFooter()
{
DrawDividerLine = true,
LeftText = "Page Title",
RightText = "{date} {time}",
FontSize = 13
};
//setting footer properties
converter.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
FontSize = 12
};
//specify the file to be converted
using var PDF = converter.RenderHTMLFileAsPdf("myWebPage.html");
//save to target location
PDF.SaveAs("sample.pdf");
}
'''
'''Set Header and Footer
'''anchor-ironpdf-pdf-header-and-footer
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create rendering converter
Dim converter = New ChromePdfRenderer()
'setting Header properties
converter.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.DrawDividerLine = True,
.LeftText = "Page Title",
.RightText = "{date} {time}",
.FontSize = 13
}
'setting footer properties
converter.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.RightText = "Page {page} of {total-pages}",
.FontSize = 12
}
'specify the file to be converted
Dim PDF = converter.RenderHTMLFileAsPdf("myWebPage.html")
'save to target location
PDF.SaveAs("sample.pdf")
End Sub
Ausgabe: Der Screenshot der neu erstellten PDF-Datei sample.pdf durch den obigen Code:
Wir können sehen, wie einfach es ist, mit Kopf- und Fußzeilen zu arbeiten, indem wir eine intuitive Sprache verwenden, während wir eine PDF-Datei mit IronPDF erstellen. Jetzt werden wir sehen, wie man mit PrizmDoc Viewer Kopf- und Fußzeilen einstellen kann.
6.2. PrizmDoc Viewer PDF-Kopf- und Fußzeile
PrizmDoc Viewer stellt die HeaderFooterOptions-Klasse zur Verfügung, um mit Kopf- und Fußzeile umzugehen, mit den folgenden Eigenschaften:
Zeilen spezifiziert die Zeile(n) für Kopf- und Fußzeile (klarer, wenn Sie das folgende Beispiel verstehen), jede Zeile hat die folgenden Eigenschaften:
Links druckt den Text auf der linken Seite der Kopf- oder Fußzeile.
Center druckt den Text auf der linken Seite der Kopf- oder Fußzeile.
Rechts druckt den Text auf der rechten Seite der Kopf- oder Fußzeile.
FontFamily, um die Schriftfamilie des Kopf- oder Fußzeilentextes anzugeben.
FontSize, um die Schriftgröße des Textes in der Kopf- oder Fußzeile anzugeben.
Farbe, um die Farbe des Kopf- oder Fußzeilentextes festzulegen.
Weiterlesen über das Festlegen von Kopf- und Fußzeilen einer PDF-Seite mit dem PrizmDoc-Server.
Sehen wir uns an, wie wir unseren Anwendungsfall unter Verwendung der oben genannten Eigenschaften umsetzen können.
using System.Threading.Tasks;
using System.Collections.Generic;
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;
static void Main(string [] args)
{
SetHeaderFooter().GetAwaiter().GetResult();
}
private static async Task SetHeaderFooter()
{
//instantiate PrizmDocServerClient object with Header and footer properties
var prizmDocServer = new PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY");
ConversionResult result = await prizmDocServer.ConvertToPdfAsync(
"myWebPage.html",
header: new HeaderFooterOptions
{
Lines = new List<HeaderFooterLine>
{
new HeaderFooterLine { Left = "Page Title", Right = DateTime.Now.ToString() }
},
},
footer: new HeaderFooterOptions
{
Lines = new List<HeaderFooterLine>
{
new HeaderFooterLine { Right = "Page {{pageNumber}} of {{pageCount}}" },
},
});
//save to the target location
await result.RemoteWorkFile.SaveAsync("sample.pdf");
}
using System.Threading.Tasks;
using System.Collections.Generic;
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;
static void Main(string [] args)
{
SetHeaderFooter().GetAwaiter().GetResult();
}
private static async Task SetHeaderFooter()
{
//instantiate PrizmDocServerClient object with Header and footer properties
var prizmDocServer = new PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY");
ConversionResult result = await prizmDocServer.ConvertToPdfAsync(
"myWebPage.html",
header: new HeaderFooterOptions
{
Lines = new List<HeaderFooterLine>
{
new HeaderFooterLine { Left = "Page Title", Right = DateTime.Now.ToString() }
},
},
footer: new HeaderFooterOptions
{
Lines = new List<HeaderFooterLine>
{
new HeaderFooterLine { Right = "Page {{pageNumber}} of {{pageCount}}" },
},
});
//save to the target location
await result.RemoteWorkFile.SaveAsync("sample.pdf");
}
Imports System.Threading.Tasks
Imports System.Collections.Generic
Imports Accusoft.PrizmDocServer
Imports Accusoft.PrizmDocServer.Conversion
Shared Sub Main(ByVal args() As String)
SetHeaderFooter().GetAwaiter().GetResult()
End Sub
Private Shared Async Function SetHeaderFooter() As Task
'instantiate PrizmDocServerClient object with Header and footer properties
Dim prizmDocServer = New PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY")
Dim result As ConversionResult = Await prizmDocServer.ConvertToPdfAsync("myWebPage.html", header:= New HeaderFooterOptions With {.Lines = New List(Of HeaderFooterLine) _
From {
New HeaderFooterLine With {
.Left = "Page Title",
.Right = DateTime.Now.ToString()
}
}
},
footer:= New HeaderFooterOptions With {
.Lines = New List(Of HeaderFooterLine) From {
New HeaderFooterLine With {.Right = "Page {{pageNumber}} of {{pageCount}}"}
}
})
'save to the target location
Await result.RemoteWorkFile.SaveAsync("sample.pdf")
End Function
Ausgabe:
Der Screenshot der neu erstellten PDF-Datei mit obigem Code:
6.3. PDF-Kopf- und Fußzeilen-Codevergleich
Wir sehen, dass IronPDF im Vergleich zu PrizmDoc Viewer mehr Funktionen zum Einstellen von Kopf- und Fußzeileneigenschaften mit einer einfachen Programmierstruktur bietet. Es wird auch behauptet, dass die von IronPDF erzeugte PDF-Datei lesbarer und attraktiver ist als die von PrizmDoc Viewer erzeugte Datei.
7. PDF-Seiten in Bilder umwandeln
Betrachten wir noch einen Anwendungsfall: Wir haben eine einfache PDF-Datei mit dem Namen Sample_PDF.pdf, die nur 2 Seiten hat.
Page1
Page2
Und wir müssen ein Bild von jeder Seite erstellen. Zunächst werden wir sehen, wie diese Aufgabe mit IronPDF durchgeführt werden kann.
7.1. IronPDF PDF in Bild konvertieren
/**
PDF to Image
anchor-ironpdf-convert-pdf-to-image
**/
using IronPdf;
static void Main(string [] args)
{
//specify file to be converted
var pdf = PdfDocument.FromFile("Sample_PDF.pdf");
//save images to the target location
pdf.RasterizeToImageFiles("image_*.png");
}
/**
PDF to Image
anchor-ironpdf-convert-pdf-to-image
**/
using IronPdf;
static void Main(string [] args)
{
//specify file to be converted
var pdf = PdfDocument.FromFile("Sample_PDF.pdf");
//save images to the target location
pdf.RasterizeToImageFiles("image_*.png");
}
'''
'''PDF to Image
'''anchor-ironpdf-convert-pdf-to-image
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'specify file to be converted
Dim pdf = PdfDocument.FromFile("Sample_PDF.pdf")
'save images to the target location
pdf.RasterizeToImageFiles("image_*.png")
End Sub
Ausgabe:
Der obige Code wird die folgenden zwei .png-Bilder erstellen:
Page1 Image
Page2 Image
Wir können sehen, wie einfach es ist, mit IronPDF ein Bild von jeder PDF-Seite zu erstellen. Jetzt werden wir die gleiche Aufgabe mit PrizmDoc Viewer durchführen.
7.2. PrizmDoc Viewer PDF zu Bild
using System.Linq;
using System.Collections.Generic;
using System.Threading.Tasks;
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;
static void Main(string [] args)
{
PdfToImage().GetAwaiter().GetResult();
}
private static async Task PdfToImage()
{
//instantiate PrizmDocServerClient object
var prizmDocServer = new PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY");
//convert PDF file to images
IEnumerable<ConversionResult> results = await PrizmDocServer.ConvertAsync("Sample_PDF.pdf", DestinationFileFormat.Png);
//Save each image.
for (int i = 0; i < results.Count(); i++)
{
await results.ElementAt(i).RemoteWorkFile.SaveAsync($"page-{i + 1}.png");
}
}
using System.Linq;
using System.Collections.Generic;
using System.Threading.Tasks;
using Accusoft.PrizmDocServer;
using Accusoft.PrizmDocServer.Conversion;
static void Main(string [] args)
{
PdfToImage().GetAwaiter().GetResult();
}
private static async Task PdfToImage()
{
//instantiate PrizmDocServerClient object
var prizmDocServer = new PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY");
//convert PDF file to images
IEnumerable<ConversionResult> results = await PrizmDocServer.ConvertAsync("Sample_PDF.pdf", DestinationFileFormat.Png);
//Save each image.
for (int i = 0; i < results.Count(); i++)
{
await results.ElementAt(i).RemoteWorkFile.SaveAsync($"page-{i + 1}.png");
}
}
Imports System.Linq
Imports System.Collections.Generic
Imports System.Threading.Tasks
Imports Accusoft.PrizmDocServer
Imports Accusoft.PrizmDocServer.Conversion
Shared Sub Main(ByVal args() As String)
PdfToImage().GetAwaiter().GetResult()
End Sub
Private Shared Async Function PdfToImage() As Task
'instantiate PrizmDocServerClient object
Dim prizmDocServer = New PrizmDocServerClient("https://api.accusoft.com", "Your-API-KEY")
'convert PDF file to images
Dim results As IEnumerable(Of ConversionResult) = Await PrizmDocServer.ConvertAsync("Sample_PDF.pdf", DestinationFileFormat.Png)
'Save each image.
For i As Integer = 0 To results.Count() - 1
Await results.ElementAt(i).RemoteWorkFile.SaveAsync($"page-{i + 1}.png")
Next i
End Function
Ausgabe:
Der obige Code wird auch die folgenden zwei .png-Bilder erstellen:
Page1
Page2
7.3. PDF zu Image Code Vergleich
Im Vergleich zu PrizmDoc Viewer können wir mit IronPDF das Bild jeder Seite mit den wenigsten Codezeilen erzeugen, auch ohne die Seiten zu iterieren.
8. Preise für Lizenzen
In den obigen Vergleichen sehen wir die technische Arbeitsstruktur und die vorgesehenen Funktionen der beiden Komponenten. Nun werden wir uns die Lizenzpreise für beide Komponenten ansehen. Das ist sehr wichtig, weil wir immer versuchen, unsere Anforderungen mit einem minimalen Budget zu erfüllen.
8.1. IronPDF Lizenz-Optionen
Die IronPDF-Lizenz beginnt bei $749 für ein einzelnes Projekt mit einem Entwickler.
Wenn Sie Ingenieur in einem Unternehmen oder einer Agentur sind, das/die für mehrere Kunden arbeitet, beginnen die Lizenzen bei 699 US-Dollar und können je nach Teamgröße und Anzahl der Projekte angepasst werden.
Die folgende Lizenz erfordert nur eine einmalige Zahlung.
Number of Developers
Price
1-5
$699
6-10
$799
11-20
$899
21-50
$999
Unlimited
$1,199
Für Unternehmen mit mehreren Standorten beginnt die Lizenz ab $1199.
Für SaaS-Dienste beginnen die Lizenzen ab $1099.
Für lizenzfreie OEM-Weiterverteilung beginnen die Lizenzen ab 1599 $.
Hinweis: Alle oben genannten Lizenzpakete beinhalten 1 Jahr Support und Updates.
Mehr erfahren über alle bereitgestellten Lizenzpakete von IronPDF.
8.2. PrizmDoc Viewer Lizenz Optionen
Selbstgehostete Option
Wenn Sie Ihren eigenen Server verwalten, beträgt der Preis der Lizenz 7.900 $/jährlich mit Standardunterstützung.
Mehr erfahren über alle bereitgestellten Paketinformationen des PrizmDoc Viewer.
Cloud-basierte Option
Diese Lizenz bezieht sich auf die Cloud-basierten Dienste von PrizmDoc Viewer, die auf Basis der Anzahl der Transaktionen skaliert werden.
Terminologien:
Transaction bedeutet, dass wir den PrizmDoc Viewer-Server ansteuern und die Ausgabe (das resultierende Dokument) erhalten.
Prepaid Buckets bedeutet, dass Sie einmal zahlen und die Transaktionen erhalten, die nicht verfallen.
No of Transactions
Prepaid Buckets
Monthly
Annually
200
$18
1,000
$89
2,000
$119
6,000
$254
$169
$1,859 (6,000 Transactions/Month)
12,000
$434
$289
$3,179 (12,000 Transactions/Month)
25,000
$749
$749
$5,459 (25,000 Transactions/Month)
50,000
$1,199
$799
$8,789 (50,000 Transactions/Month)
100,000
$1,499
$999
$10,989 (100,000 Transactions/Month)
200,000
$2,549
$1,699
$19,188 (200,000 Transactions/Month)
300,000
$3,299
$2,199
$25,188 (300,000 Transactions/Month
400,000
$4,049
$2,699
$31,188 (400,000 Transactions/Month)
500,000
$4,799
$3,199
$37,188 (500,000 Transactions/Month)
Tutorial Schnellzugriff
Holen Sie sich das C# IronPDF Quickstart-Handbuch
Wir haben ein kostenloses PDF-Ressourcenhandbuch erstellt, um die Entwicklung von PDFs für .NET zu vereinfachen. Darin werden gängige Funktionen und Beispiele für die Bearbeitung, Erstellung und Speicherung von PDFs in C# und VB.NET für Ihr Projekt erläutert.
Entdecken Sie die API-Referenz für die IronPDF C# Library, einschließlich Details zu allen IronPDF-Funktionen, Klassen, Methodenfeldern, Namespaces und Enums.
Chipego hat eine natürliche Fähigkeit zum Zuhören, die ihm hilft, Kundenprobleme zu verstehen und intelligente Lösungen anzubieten. Er trat dem Iron Software-Team 2023 bei, nachdem er einen Bachelor of Science in Informationstechnologie erworben hatte. IronPDF und IronOCR sind die beiden Produkte, auf die sich Chipego konzentriert hat, aber sein Wissen über alle Produkte wächst täglich, da er neue Wege findet, Kunden zu unterstützen. Er genießt die Zusammenarbeit bei Iron Software, da Teammitglieder aus dem gesamten Unternehmen ihre unterschiedlichen Erfahrungen einbringen und so zu effektiven, innovativen Lösungen beitragen. Wenn Chipego nicht an seinem Schreibtisch sitzt, kann man ihn oft bei einem guten Buch oder beim Fußballspielen antreffen.
< PREVIOUS PDFSharp HTML zu PDF Beispiel und Tutorials Vergleich
NÄCHSTES > Ein Vergleich zwischen IronPDF und PDFCrowd