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");
Für Entwickler, die mit .NET arbeiten, ist es entscheidend, die richtige PDF-Lösung zu finden, um funktionsreiche Anwendungen zu erstellen. In der heutigen modernen Zeit kann es schwierig sein, das richtige Werkzeug für Ihre Bedürfnisse zu finden, bei der steigenden Anzahl an Produkten, die PDF-Konvertierungstechnologie anbieten. In diesem Vergleich werden wir IronPDF und HiQPdf, zwei beliebte HTML-zu-PDF-Bibliotheken, die in .NET-Projekten verwendet werden, evaluieren. Während beide Bibliotheken leistungsstarke PDF-Generierungsfunktionen bieten, zeichnet sich IronPDF durch seine umfassenderen Funktionen, plattformübergreifende Kompatibilität und intuitive API aus.
Egal, ob Sie nach erweiterten Bearbeitungsoptionen, plattformübergreifender Unterstützung oder Benutzerfreundlichkeit suchen, dieser Vergleich von IronPDF und HiQPdf nebeneinander wird Ihnen helfen, eine fundierte Entscheidung zu treffen.
Hauptmerkmale auf einen Blick
IronPDF ist eine vielseitige PDF-Bibliothek für C# und .NET, die nahtlose PDF-Erstellung, Bearbeitung und Manipulation ermöglicht. Unterstützt .NET 8, 7, 6 und Core; es ist mit einem umfangreichen Werkzeugset für Entwickler ausgestattet, um alles von der HTML- bis zur PDF-Konvertierung bis hin zu fortschrittlichen Sicherheitsoptionen wie Verschlüsselung und digitalen Signaturen zu bewältigen. Mit IronPDF können Sie Text- oder HTML-Kopfzeilen zu jeder PDF-Seite hinzufügen, Webfonts für eine bessere Textanpassung verwenden, Text extrahieren, stilvolle PDF-Dokumente erstellen und vieles mehr!
HiQPdf konzentriert sich hingegen hauptsächlich auf die Umwandlung von HTML in PDF und bietet solide Unterstützung für CSS3, JavaScript, SVG und Canvas-Elemente. Obwohl es eine zuverlässige PDF-Generierung bietet, fehlen HiQPdf einige der fortschrittlichen Funktionen und die Flexibilität, die IronPDF bietet, insbesondere wenn es um plattformübergreifende Kompatibilität und detaillierte Dokumentbearbeitung geht.
Vergleich der Hauptfunktionen: PDF-Funktionalität in IronPDF vs. HiQPdf
IronPDF-Funktionen
PDF-Konvertierung: IronPDF kann HTML in PDF umwandeln. Mit seiner umfassenden Unterstützung für moderne Webstandards können Sie sicher sein, dass IronPDF stets pixelgenaue PDFs von Ihrer HTML-Seite oder Ihrem Inhalt liefert. IronPDF kann auch PDF-Dateien aus anderen Formaten wie DOCX, Bilder, RTF und mehr konvertieren.
PDF-Erstellung: Mit IronPDF können Sie PDFs aus URLs, ASPX-Dateien oder HTML-Strings generieren.
Sicherheitsfunktionen: Mit IronPDF können Sie stets sicher sein, dass alle sensiblen PDF-Dateien dank seiner Sicherheitsfunktionen geschützt sind. Verwenden Sie IronPDF, um Ihre PDF-Dateien zu verschlüsseln, Passwörter festzulegen und Berechtigungen für Ihre PDF-Dateien zu vergeben.
PDF-Bearbeitungsfunktionen: Mit IronPDF können Sie vorhandene PDF-Dokumente bearbeiten, ändern und PDF-Dateien mühelos lesen. IronPDF bietet Bearbeitungsfunktionen wie das Hinzufügen von Kopf- und Fußzeilen, das Stempeln von Text und Bildern auf den PDF-Seiten, das Hinzufügen von benutzerdefinierten Wasserzeichen zum PDF, die Arbeit mit PDF-Formularen und das Teilen oder Zusammenführen von PDF-Dateien.
Integration: Integriert sich nahtlos in ASP.NET und MVC-Anwendungen.
PDF-Version-Unterstützung: Kann PDF-Version 1.2-1.7 unterstützen
Für eine umfassende Liste der Funktionen von IronPDF besuchen Sie IronPDF Features.
HiQPdf-Funktionen:
HTML-zu-PDF-Konvertierung: Unterstützt HTML5, CSS3, JavaScript, SVG und Canvas-Elemente. HiQPdf ist in der Lage, komplexe Seitenlayouts mit präziser Genauigkeit zu verarbeiten.
JavaScript-Ausführung in PDFs: Führt JavaScript nach der Konvertierung innerhalb des PDFs aus, um interaktive Funktionen zu ermöglichen.
Anmerkungen & Lesezeichen: Fügt Standard-PDF-Anmerkungen wie Kommentare und Hervorhebungen hinzu.
Unterstützung für benutzerdefinierte Papiergrößen: Bietet Optionen zur Definition benutzerdefinierter Papiergrößen bei der PDF-Erstellung.
Grundlegender Passwortschutz: Sichert PDFs mit einfachen Passwortoptionen zur Einschränkung von Zugriff und Bearbeitung.
CSS-Attribute für Seitenumbrüche: Steuern Sie die Seitenumbrüche in Ihren generierten PDF-Dokumenten mit der CSS-Eigenschaft 'page-break-before:always'.
PDFs zusammenführen und aufteilen: Kombiniert mehrere PDFs zu einem einzigen Dokument oder teilt große PDFs in kleinere Dateien für eine bessere Handhabbarkeit auf.
IronPDF verfügt über einen größeren Funktionsumfang und bietet fortschrittlichere PDF-Bearbeitung, Sicherheit und plattformübergreifende Kompatibilität, was ihm einen Vorteil gegenüber HiQPdf verschafft.
Plattformübergreifende Kompatibilität
Ein wesentlicher Unterschied zwischen IronPDF und HiQPdf ist die plattformübergreifende Kompatibilität. IronPDF bietet nahtlose Unterstützung für Windows, Linux und macOS, was es zu einer hervorragenden Wahl für Entwickler macht, die in unterschiedlichen Umgebungen arbeiten. Es ist auch kompatibel mit Docker, Azure, AWS und den wichtigsten .NET-Versionen, einschließlich .NET 8, 7, 6 und .NET Core.
HiQPdf ist zwar funktionsfähig, hat jedoch eine eingeschränktere Plattformunterstützung und konzentriert sich hauptsächlich auf Windows-Umgebungen.
Vergleich der wichtigsten Funktionen mit Code-Beispielen zwischen IronPDF und HiQPdf
Konvertierung von HTML in PDF
IronPDF:
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
pdf.SaveAs("output.pdf")
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
$vbLabelText $csharpLabel
HiQPdf:
// create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// convert HTML Code to a PDF file
htmlToPdfConverter.ConvertHtmlToFile("<b>Hello World</b>", null, "result.pdf");
// create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// convert HTML Code to a PDF file
htmlToPdfConverter.ConvertHtmlToFile("<b>Hello World</b>", null, "result.pdf");
' create the HTML to PDF converter
Dim htmlToPdfConverter As New HtmlToPdf()
' convert HTML Code to a PDF file
htmlToPdfConverter.ConvertHtmlToFile("<b>Hello World</b>", Nothing, "result.pdf")
$vbLabelText $csharpLabel
Für die HTML-zu-PDF-Konvertierung bietet IronPDF einen einfachen Ansatz, indem es den ChromePdfRenderer verwendet, um HTML-Inhalte in ein PDF zu rendern, egal ob Sie mit HTML-Dokumenten, Strings oder URLs arbeiten. IronPDF unterstützt auch fortgeschrittene Szenarien, wie das Rendern von HTML mit lokalen Assets wie Bildern, indem der Dateipfad für die Assets angegeben und das Ergebnis gespeichert wird. HiQPdf hingegen verwendet die HtmlToPdf-Klasse, bei der der HTML-Inhalt direkt mit einer einfacheren Einrichtung in eine PDF-Datei umgewandelt wird. Beide Bibliotheken verwalten die Konvertierung von HTML zu PDF effektiv, aber IronPDF bietet zusätzliche Flexibilität beim Umgang mit Assets.
Verschlüsselung von PDF-Dokumenten
Beispiel für IronPDF:
using IronPdf;
using System;
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
// create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// set encryption mode
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode();
// set encryption level
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel();
// set open password
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text;
// set permissions password
htmlToPdfConverter.Document.Security.PermissionsPassword = textBoxPermissionsPassword.Text;
// set PDF document permissions
htmlToPdfConverter.Document.Security.AllowPrinting = checkBoxAllowPrint.Checked;
htmlToPdfConverter.Document.Security.AllowCopyContent = checkBoxAllowCopy.Checked;
htmlToPdfConverter.Document.Security.AllowEditContent = checkBoxAllowEdit.Checked;
htmlToPdfConverter.Document.Security.AllowEditAnnotations = checkBoxAllowEditAnnotations.Checked;
htmlToPdfConverter.Document.Security.AllowFormFilling = checkBoxAllowFillForms.Checked;
// set a default permissions password if an open password was set without settings a permissions password
// or if any of the permissions does not have the default value
if (htmlToPdfConverter.Document.Security.PermissionsPassword == String.Empty &&
(htmlToPdfConverter.Document.Security.OpenPassword != String.Empty
!IsDefaultPermission(htmlToPdfConverter.Document.Security)))
{
htmlToPdfConverter.Document.Security.PermissionsPassword = "admin";
}
// create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();
// set encryption mode
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode();
// set encryption level
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel();
// set open password
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text;
// set permissions password
htmlToPdfConverter.Document.Security.PermissionsPassword = textBoxPermissionsPassword.Text;
// set PDF document permissions
htmlToPdfConverter.Document.Security.AllowPrinting = checkBoxAllowPrint.Checked;
htmlToPdfConverter.Document.Security.AllowCopyContent = checkBoxAllowCopy.Checked;
htmlToPdfConverter.Document.Security.AllowEditContent = checkBoxAllowEdit.Checked;
htmlToPdfConverter.Document.Security.AllowEditAnnotations = checkBoxAllowEditAnnotations.Checked;
htmlToPdfConverter.Document.Security.AllowFormFilling = checkBoxAllowFillForms.Checked;
// set a default permissions password if an open password was set without settings a permissions password
// or if any of the permissions does not have the default value
if (htmlToPdfConverter.Document.Security.PermissionsPassword == String.Empty &&
(htmlToPdfConverter.Document.Security.OpenPassword != String.Empty
!IsDefaultPermission(htmlToPdfConverter.Document.Security)))
{
htmlToPdfConverter.Document.Security.PermissionsPassword = "admin";
}
' create the HTML to PDF converter
Dim htmlToPdfConverter As New HtmlToPdf()
' set encryption mode
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode()
' set encryption level
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel()
' set open password
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text
' set permissions password
htmlToPdfConverter.Document.Security.PermissionsPassword = textBoxPermissionsPassword.Text
' set PDF document permissions
htmlToPdfConverter.Document.Security.AllowPrinting = checkBoxAllowPrint.Checked
htmlToPdfConverter.Document.Security.AllowCopyContent = checkBoxAllowCopy.Checked
htmlToPdfConverter.Document.Security.AllowEditContent = checkBoxAllowEdit.Checked
htmlToPdfConverter.Document.Security.AllowEditAnnotations = checkBoxAllowEditAnnotations.Checked
htmlToPdfConverter.Document.Security.AllowFormFilling = checkBoxAllowFillForms.Checked
' set a default permissions password if an open password was set without settings a permissions password
' or if any of the permissions does not have the default value
If htmlToPdfConverter.Document.Security.PermissionsPassword = String.Empty AndAlso (htmlToPdfConverter.Document.Security.OpenPassword <> String.Empty (Not IsDefaultPermission(htmlToPdfConverter.Document.Security))) Then
htmlToPdfConverter.Document.Security.PermissionsPassword = "admin"
End If
$vbLabelText $csharpLabel
Wenn es um das Verschlüsseln von PDF-Dokumenten geht, bietet IronPDF mit seiner API einen unkomplizierten Ansatz. Entwickler können vorhandene Passwörter entfernen, neue Sicherheitseinstellungen festlegen, Benutzeraktionen wie Anmerkungen, Kopieren und Einfügen sowie Formulardateneingaben einschränken und das Dokument schreibgeschützt machen. IronPDF ermöglicht die Änderung von Metadaten, Passwortschutz und präzise Kontrolle über Druckberechtigungen.
HiQPdf bietet ebenfalls PDF-Verschlüsselung an, jedoch mit einem etwas anderen Prozess, der sich darauf konzentriert, einen Verschlüsselungsmodus, ein Level, ein Öffnungspasswort und ein Berechtigungspasswort festzulegen. Es ermöglicht eine fein abgestufte Kontrolle über Dokumentberechtigungen wie Drucken, Kopieren von Inhalten und Bearbeiten, wobei standardmäßige Berechtigungen verfügbar sind, wenn sie nicht ausdrücklich festgelegt werden. Beide Bibliotheken bieten umfassende Sicherheitseinstellungen, aber IronPDF bietet zusätzliche Funktionen wie die Anpassung von Metadaten und eine einfachere Handhabung des Nur-Lese-Modus für Dokumente.
Inhalt eines PDF-Dokuments schwärzen
Beispiel für IronPDF:
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
pdf.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")
$vbLabelText $csharpLabel
HiQPdf bietet in den aufgelisteten Funktionen keine explizite Schwärzungsfunktionalität an. Es konzentriert sich hauptsächlich auf die PDF-Erstellung, -Konvertierung und -Manipulation, wie das Erstellen von PDFs aus HTML.
IronPDF bietet einen einfachen Ansatz, um Inhalte aus Ihren PDF-Dokumentseiten zu redigieren. Zum Beispiel können Entwickler bestimmten Text in einem Dokument mit nur wenigen Codezeilen einfach schwärzen, wie im obigen Code-Snippet zu sehen ist. Im Gegensatz dazu fehlt HiQPdf die explizite Redaktionsfunktionalität in seinem Funktionsumfang und konzentriert sich hauptsächlich auf die PDF-Erstellung, -Umwandlung und -Bearbeitung, wie z.B. das Erstellen von PDFs aus HTML.
Digitales Signieren von PDF-Dateien
Beispiel für IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
Private sig = New PdfSignature(cert)
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
$vbLabelText $csharpLabel
HiQPdf:
// create a PDF document
PdfDocument document = new PdfDocument();
// create a page in document
PdfPage page1 = document.AddPage();
// create the true type fonts that can be used in document text
Font sysFont = new Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point);
PdfFont pdfFont = document.CreateFont(sysFont);
PdfFont pdfFontEmbed = document.CreateFont(sysFont, true);
float crtYPos = 20;
float crtXPos = 5;
// add a title to PDF document
PdfText titleTextTransImage = new PdfText(crtXPos, crtYPos,
"Click the image below to open the digital signature", pdfFontEmbed);
titleTextTransImage.ForeColor = Color.Navy;
PdfLayoutInfo textLayoutInfo = page1.Layout(titleTextTransImage);
crtYPos += textLayoutInfo.LastPageRectangle.Height + 10;
// layout a PNG image with alpha transparency
PdfImage transparentPdfImage = new PdfImage(crtXPos, crtYPos, Server.MapPath("~") + @"\DemoFiles\Images\HiQPdfLogo_small.png");
PdfLayoutInfo imageLayoutInfo = page1.Layout(transparentPdfImage);
// apply a digital sgnature over the image
PdfCertificatesCollection pdfCertificates = PdfCertificatesCollection.FromFile(Server.MapPath("~") + @"\DemoFiles\Pfx\hiqpdf.pfx", "hiqpdf");
PdfDigitalSignature digitalSignature = new PdfDigitalSignature(pdfCertificates[0]);
digitalSignature.SigningReason = "My signing reason";
digitalSignature.SigningLocation = "My signing location";
digitalSignature.SignerContactInfo = "My contact info";
document.AddDigitalSignature(digitalSignature, imageLayoutInfo.LastPdfPage, imageLayoutInfo.LastPageRectangle);
try
{
// write the PDF document to a memory buffer
byte[] pdfBuffer = document.WriteToMemory();
// inform the browser about the binary data format
HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf");
// let the browser know how to open the PDF document and the file name
HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=DigitalSignatures.pdf; size={0}",
pdfBuffer.Length.ToString()));
// write the PDF buffer to HTTP response
HttpContext.Current.Response.BinaryWrite(pdfBuffer);
// call End() method of HTTP response to stop ASP.NET page processing
HttpContext.Current.Response.End();
}
finally
{
document.Close();
}
// create a PDF document
PdfDocument document = new PdfDocument();
// create a page in document
PdfPage page1 = document.AddPage();
// create the true type fonts that can be used in document text
Font sysFont = new Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point);
PdfFont pdfFont = document.CreateFont(sysFont);
PdfFont pdfFontEmbed = document.CreateFont(sysFont, true);
float crtYPos = 20;
float crtXPos = 5;
// add a title to PDF document
PdfText titleTextTransImage = new PdfText(crtXPos, crtYPos,
"Click the image below to open the digital signature", pdfFontEmbed);
titleTextTransImage.ForeColor = Color.Navy;
PdfLayoutInfo textLayoutInfo = page1.Layout(titleTextTransImage);
crtYPos += textLayoutInfo.LastPageRectangle.Height + 10;
// layout a PNG image with alpha transparency
PdfImage transparentPdfImage = new PdfImage(crtXPos, crtYPos, Server.MapPath("~") + @"\DemoFiles\Images\HiQPdfLogo_small.png");
PdfLayoutInfo imageLayoutInfo = page1.Layout(transparentPdfImage);
// apply a digital sgnature over the image
PdfCertificatesCollection pdfCertificates = PdfCertificatesCollection.FromFile(Server.MapPath("~") + @"\DemoFiles\Pfx\hiqpdf.pfx", "hiqpdf");
PdfDigitalSignature digitalSignature = new PdfDigitalSignature(pdfCertificates[0]);
digitalSignature.SigningReason = "My signing reason";
digitalSignature.SigningLocation = "My signing location";
digitalSignature.SignerContactInfo = "My contact info";
document.AddDigitalSignature(digitalSignature, imageLayoutInfo.LastPdfPage, imageLayoutInfo.LastPageRectangle);
try
{
// write the PDF document to a memory buffer
byte[] pdfBuffer = document.WriteToMemory();
// inform the browser about the binary data format
HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf");
// let the browser know how to open the PDF document and the file name
HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=DigitalSignatures.pdf; size={0}",
pdfBuffer.Length.ToString()));
// write the PDF buffer to HTTP response
HttpContext.Current.Response.BinaryWrite(pdfBuffer);
// call End() method of HTTP response to stop ASP.NET page processing
HttpContext.Current.Response.End();
}
finally
{
document.Close();
}
' create a PDF document
Dim document As New PdfDocument()
' create a page in document
Dim page1 As PdfPage = document.AddPage()
' create the true type fonts that can be used in document text
Dim sysFont As New Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point)
Dim pdfFont As PdfFont = document.CreateFont(sysFont)
Dim pdfFontEmbed As PdfFont = document.CreateFont(sysFont, True)
Dim crtYPos As Single = 20
Dim crtXPos As Single = 5
' add a title to PDF document
Dim titleTextTransImage As New PdfText(crtXPos, crtYPos, "Click the image below to open the digital signature", pdfFontEmbed)
titleTextTransImage.ForeColor = Color.Navy
Dim textLayoutInfo As PdfLayoutInfo = page1.Layout(titleTextTransImage)
crtYPos += textLayoutInfo.LastPageRectangle.Height + 10
' layout a PNG image with alpha transparency
Dim transparentPdfImage As New PdfImage(crtXPos, crtYPos, Server.MapPath("~") & "\DemoFiles\Images\HiQPdfLogo_small.png")
Dim imageLayoutInfo As PdfLayoutInfo = page1.Layout(transparentPdfImage)
' apply a digital sgnature over the image
Dim pdfCertificates As PdfCertificatesCollection = PdfCertificatesCollection.FromFile(Server.MapPath("~") & "\DemoFiles\Pfx\hiqpdf.pfx", "hiqpdf")
Dim digitalSignature As New PdfDigitalSignature(pdfCertificates(0))
digitalSignature.SigningReason = "My signing reason"
digitalSignature.SigningLocation = "My signing location"
digitalSignature.SignerContactInfo = "My contact info"
document.AddDigitalSignature(digitalSignature, imageLayoutInfo.LastPdfPage, imageLayoutInfo.LastPageRectangle)
Try
' write the PDF document to a memory buffer
Dim pdfBuffer() As Byte = document.WriteToMemory()
' inform the browser about the binary data format
HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf")
' let the browser know how to open the PDF document and the file name
HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=DigitalSignatures.pdf; size={0}", pdfBuffer.Length.ToString()))
' write the PDF buffer to HTTP response
HttpContext.Current.Response.BinaryWrite(pdfBuffer)
' call End() method of HTTP response to stop ASP.NET page processing
HttpContext.Current.Response.End()
Finally
document.Close()
End Try
$vbLabelText $csharpLabel
Beim digitalen Signieren von PDF-Dateien bietet IronPDF einen unkomplizierten Ansatz, indem es Entwicklern ermöglicht, ein PDF-Dokument aus HTML-Inhalt zu erstellen, es mit einem digitalen Zertifikat zu signieren und mit minimalem Code zu speichern. HiQPdf hingegen erfordert eine komplexere Einrichtung, bei der ein PDF-Dokument programmatisch erstellt wird, indem eine Seite hinzugefügt und Schriftarten eingebettet werden. Ein Titel und ein Bild sind enthalten, gefolgt von der Anwendung einer digitalen Signatur mit einem angegebenen Zertifikat sowie ausführlichen Metadaten wie Signaturgrund und Ort.
Anwenden von benutzerdefinierten Wasserzeichen
Beispiel für IronPDF:
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
$vbLabelText $csharpLabel
HiQPdf:
Kein integriertes spezielles Wasserzeichen-Tool.
Beim Hinzufügen benutzerdefinierter Wasserzeichen bietet IronPDF eine unkomplizierte Lösung mit integrierter Unterstützung zum Hinzufügen von Wasserzeichen zu PDFs. Im Beispiel wird eine URL als PDF gerendert und ein anpassbares Wasserzeichen mit HTML-Styling wird in der Mitte der Seite angewendet. Dies ermöglicht eine einfache Änderung des Inhalts, Stils und der Platzierung des Wasserzeichens. Im Gegensatz dazu verfügt HiQPdf über kein integriertes, spezielles Wasserzeichen-Tool, was es für Entwickler, die diese Funktionalität direkt innerhalb der Bibliothek benötigen, weniger praktisch macht.
Bilder und Text in PDFs stempeln
IronPDF-Beispiel (Textstempel):
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
$vbLabelText $csharpLabel
IronPDF-Beispiel (Bildstempel):
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
Private imageStamper As New ImageStamper(New Uri("/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
$vbLabelText $csharpLabel
HiQPdf:
HiQPdf verfügt über kein spezielles Stempelwerkzeug, um direkt Text oder Bilder als Stempel auf PDF-Dokumente hinzuzufügen. Es ermöglicht Ihnen jedoch, Text, Bilder und grafische Objekte zu PDFs hinzuzufügen, die einen ähnlichen Zweck erfüllen können. Dies kann erreicht werden, indem Textobjekte und Bildobjekte innerhalb des PDFs unter Verwendung der in der Bibliothek verfügbaren Funktionen erstellt werden.
IronPDF bietet spezielle Klassen zum Stempeln von Text und Bildern direkt auf einem bestehenden PDF-Dokument oder neu erstellten Dokumenten an, wodurch der Prozess für Entwickler vereinfacht wird. Im Gegensatz dazu fehlt HiQPdf ein spezielles Stempelwerkzeug; Stattdessen ermöglicht es den Benutzern, Text- und Bildobjekte innerhalb der PDF hinzuzufügen und erfordert einen manuellerer Ansatz, um ähnliche Ergebnisse zu erzielen.
DOCX in PDF Konvertierung
Beispiel für IronPDF:
using IronPdf;
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf
Private renderer As New DocxToPdfRenderer()
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
pdf.SaveAs("pdfFromDocx.pdf")
$vbLabelText $csharpLabel
HiQPdf:
Da HiQPdf hauptsächlich eine HTML-zu-PDF-Konverterbibliothek ist, bietet es keine integrierten Werkzeuge zum Konvertieren von DOCX in PDF an.
IronPDF bietet direkten Support für die Umwandlung von DOCX in PDF über seine DocxToPdfRenderer-Klasse, während HiQPdf keine integrierten Tools zur Umwandlung von DOCX-Dateien in PDF bietet und stattdessen den Fokus auf die Umwandlung von HTML in PDF legt.
Vergleich der Codebeispiele Zusammenfassung
Um mehr über die vielfältigen Funktionen zu erfahren, die IronPDF zu bieten hat, und sie in Aktion zu sehen, werfen Sie einen Blick auf die IronPDF-Anleitung, die einen tiefen Einblick in jede Funktion bietet, zeigt, wie sie funktionieren, und Ihnen die Fähigkeiten vermittelt, die Sie benötigen, um ein PDF-Profi zu werden.
Dokumentation und Support: IronPDF vs. HiQPdf
IronPDF-Dokumentation und Support:
IronPDF bietet eine entwicklerfreundliche Dokumentationserfahrung. Die umfassende Dokumentation stellt sicher, dass Entwickler, ob Anfänger oder fortgeschrittene Benutzer, IronPDF effektiv in ihre Projekte integrieren können. Einige der Kernelemente der Dokumentation von IronPDF umfassen:
Schritt-für-Schritt-Anleitungen: Umfassende Tutorials für jede Funktion, die sicherstellen, dass Entwickler einen klaren Weg von Anfang bis Ende haben.
24/5 Technischer Support: Ingenieure stehen während der Arbeitszeiten von Montag bis Freitag zur Verfügung, um bei Fragen oder Problemen zu helfen.
Live-Chat: Echtzeitunterstützung, um alle Lizenzierungs- oder technischen Fragen zu klären.
Emailsupport: Benutzer können sich für detaillierte Anfragen melden, und die Antwort ist schnell und hilfreich.
API-Referenz: Detaillierte API-Dokumentation mit Beispielen für jede Methode und Eigenschaft.
Codebeispiele: Einsatzbereite Codefragmente für gängige Aufgaben wie HTML zu PDF, Verschlüsselung, Wasserzeichen und mehr.
Regelmäßige Aktualisierungen: Die Dokumentation wird häufig aktualisiert, um Änderungen in der Bibliothek und neue Funktionen widerzuspiegeln.
HiQPdf bietet grundlegende Dokumentation, die die meisten seiner Kernfunktionen unterstützt. Während es Funktionalitäten zur Umwandlung von HTML in PDF und grundlegende PDF-Bearbeitung bietet, fehlt es der Dokumentation an Tiefe und Umfassendheit, die IronPDF bietet. Wichtige Aspekte der HiQPdf-Dokumentation umfassen:
Grundlegende API-Referenz: Listet Methoden für HTML zu PDF und grundlegende PDF-Operationen auf.
Codebeispiele: Begrenzte Beispielcodes für die Umwandlung von HTML in PDF und Seiteneinstellungen.
Minimale plattformübergreifende Anleitung: Konzentriert sich hauptsächlich auf Windows-Umgebungen mit weniger Anleitung für plattformübergreifende Implementierungen.
E-Mail-Support: Vorrangig für Lizenzierungs- und grundlegende technische Anfragen.
Begrenzter Live-Support: Weniger Möglichkeiten für Echtzeitunterstützung.
Für weitere technische Details zu HiQPdf müssen Benutzer zusätzliche Ressourcen oder externe Foren durchsuchen.
Preise und Lizenzierung: IronPDF vs. HiQPdf
IronPDF Preisgestaltung und Lizenzierung
IronPDF verfügt über verschiedene Stufen und zusätzliche Funktionen zum Erwerb einer Lizenz. Entwickler können auch Iron Suite kaufen, was Zugang zu allen Produkten von Iron Software zum Preis von zwei ermöglicht. Falls Sie noch nicht bereit sind, eine Lizenz zu erwerben, bietet IronPDF eine kostenlose Testversion an, damit Sie alle Funktionen erkunden können, bevor Sie sich für eine Lizenz entscheiden.
Unbefristete Lizenzen: Bietet eine Auswahl an unbefristeten Lizenzen, abhängig von der Größe Ihres Teams, den Anforderungen Ihres Projekts und der Anzahl der Standorte. Jeder Lizenztyp beinhaltet E-Mail-Support.
Lite License: Diese Lizenz kostet $749 und unterstützt einen Entwickler, einen Standort und ein Projekt.
Plus License: Diese unterstützt drei Entwickler, drei Standorte und drei Projekte. Sie ist der nächste Schritt über der Lite License und kostet $1.499. Die Plus License bietet neben dem grundlegenden E-Mail-Support auch Chat- und Telefonsupport.
Professional License: Diese Lizenz ist für größere Teams geeignet und unterstützt zehn Entwickler, zehn Standorte und zehn Projekte für 2.999 $. Sie bietet die gleichen Kontakt-Support-Kanäle wie die vorherigen Ebenen, bietet jedoch zusätzlich Unterstützung per Bildschirmfreigabe.
Lizenzfreie Weiterverbreitung: Die Lizenz von IronPDF bietet auch eine lizenzfreie Weiterverbreitung für zusätzliche $1.999
Unterbrechungsfreier Produktsupport: IronPDF bietet Zugang zu fortlaufenden Produktaktualisierungen, Sicherheitsverbesserungen und Support von ihrem Ingenieurteam entweder für $999/Jahr oder einem einmaligen Kauf von $1.999 für eine 5-jährige Abdeckung.
HiQPdf bietet auch verschiedene Lizenzierungsoptionen an, aber die Preise sind tendenziell etwas strenger:
Startup-Lizenz: $245 für einen einzelnen Entwickler mit einer einzelnen Anwendung
Entwicklerlizenz: $495 für einen Entwickler mit einer beliebigen Anzahl von Anwendungen.
Team License: 795 $ für bis zu fünf Entwickler, die an beliebig vielen Anwendungen arbeiten.
Enterprise License: $1.095 für eine unbegrenzte Anzahl von Entwicklern mit beliebig vielen Anwendungen.
Obwohl HiQPdf wettbewerbsfähig bepreist ist, bietet es nicht den gleichen Wert wie das IronPDF-Bundle durch die Iron Suite, noch die Breite an fortgeschrittenen Funktionen, die im Preis enthalten sind.
Schlussfolgerung
Sowohl IronPDF als auch HiQPdf sind solide Optionen für .NET-Entwickler, die PDF-Funktionalität in ihre Anwendungen integrieren möchten. Allerdings glänzt IronPDF mit seinem umfangreichen Funktionsumfang, seiner Benutzerfreundlichkeit und seiner robusten Dokumentation. Mit seiner plattformübergreifenden Kompatibilität, umfassenden Code-Beispielen und hervorragendem Support ist IronPDF eine ausgezeichnete Lösung für Entwickler, die umfassende PDF-Funktionalitäten in verschiedenen Umgebungen benötigen.
Wenn Sie nach einer umfassenden Lösung suchen, die hervorragende Leistung, Flexibilität und Unterstützung bietet, ist IronPDF eine sehr empfohlene Wahl. Darüber hinaus hebt sich IronPDF durch seine Fähigkeit, fortschrittliche Funktionen wie Verschlüsselung, Schwärzung und digitale Signaturen mühelos zu handhaben, von HiQPdf ab.
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 Ein Vergleich zwischen IronPDF und PDFTron