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");
Pour les développeurs travaillant avec .NET, trouver la bonne solution PDF est essentiel pour créer des applications riches en fonctionnalités, et dans l'ère moderne d'aujourd'hui, il peut être difficile de trouver le bon outil correspondant à vos besoins avec le nombre croissant de produits offrant la technologie de conversion PDF. Dans cette comparaison, nous évaluerons IronPDF et HiQPdf, deux bibliothèques HTML-to-PDF populaires utilisées dans les projets .NET. Bien que les deux bibliothèques offrent des capacités de génération de PDF robustes, IronPDF se distingue par ses fonctionnalités plus complètes, sa compatibilité multiplateforme et son API intuitive.
Que vous recherchiez des options d'édition avancées, une prise en charge multiplateforme ou une facilité d'utilisation, cette comparaison côte à côte de IronPDF et HiQPdf vous aidera à prendre une décision éclairée.
Principales caractéristiques en un coup d'œil
IronPDF est une bibliothèque PDF polyvalente pour C# et .NET qui permet une génération, édition et manipulation de PDF sans effort. Prenant en charge .NET 8, 7, 6 et Core, il est doté d'une riche panoplie d'outils permettant aux développeurs de gérer tout, de la conversion de HTML en PDF, aux options de sécurité avancées telles que le chiffrement et les signatures numériques. Avec IronPDF, vous pouvez ajouter des en-têtes de texte ou HTML à chaque page PDF, utiliser des polices web pour une meilleure personnalisation du texte, extraire du texte, créer des documents PDF élégants, et bien plus encore !
HiQPdf, quant à lui, se concentre principalement sur la conversion HTML en PDF, offrant un support solide pour les éléments CSS3, JavaScript, SVG et Canvas. Bien qu'il fournisse une génération PDF fiable, HiQPdf manque de certaines fonctionnalités avancées et de la flexibilité qu'offre IronPDF, notamment en ce qui concerne la compatibilité multiplateforme et l'édition détaillée de documents.
Comparaison des caractéristiques clés : Fonctionnalités PDF dans IronPDF vs HiQPdf
Caractéristiques d'IronPDF
Conversion PDF : IronPDF peut convertir HTML en PDF. Avec son support complet des normes web modernes, vous pouvez être assuré qu'IronPDF renverra toujours des PDF impeccables à partir de votre page ou contenu HTML. IronPDF peut également convertir des fichiers PDF à partir d'autres formats tels que DOCX, images, RTF, et plus encore.
Génération de PDF : Avec IronPDF, vous pouvez générer des PDF à partir de URLs, de fichiers ASPX, ou de chaînes HTML.
Fonctionnalités de sécurité : Avec IronPDF, vous pouvez toujours être assuré que tous les fichiers PDF sensibles sont sécurisés grâce à ses fonctionnalités de sécurité. Utilisez IronPDF pour crypter vos fichiers PDF, définir des mots de passe et définir des permissions pour vos fichiers PDF.
Fonctionnalités d'édition PDF : Avec IronPDF, vous pouvez traiter des documents PDF existants, les éditer, et lire des fichiers PDF facilement. IronPDF offre des fonctionnalités d'édition telles que l'ajout d'en-têtes et de pieds de page, l'estampillage de texte et d'images sur les pages PDF, l'ajout de filigranes personnalisés au PDF, le travail avec des formulaires PDF, et la division ou la fusion de fichiers PDF.
Intégration : S'intègre parfaitement avec ASP.NET et les applications MVC.
Support des versions PDF : Peut prendre en charge les versions PDF 1.2-1.7
Conversion HTML en PDF : Prend en charge les éléments HTML5, CSS3, JavaScript, SVG, et canvas. HiQPdf est capable de gérer des mises en page complexes avec une précision fidèle.
Exécution de JavaScript dans les PDF : Exécute JavaScript à l'intérieur du PDF après conversion, permettant des fonctionnalités interactives.
Annotations & Signets : Ajoute des annotations PDF standard telles que des commentaires et des surlignages.
Support des formats de papier personnalisés : Offre des options pour définir des formats de papier personnalisés lors de la création de PDF.
Protection par mot de passe de base : Sécurise les PDF avec des options de mot de passe de base pour restreindre l'accès et la modification.
Attributs CSS de saut de page : Contrôlez les sauts de page dans vos documents PDF générés en utilisant la propriété CSS 'page-break-before:always'.
Fusionner et Diviser des PDFs : Combine plusieurs PDFs en un seul document, ou divise de grands PDFs en fichiers plus petits pour une meilleure gestion.
IronPDF possède un ensemble de fonctionnalités plus large, offrant une édition PDF plus avancée, une sécurité accrue, et une compatibilité multiplateforme, ce qui lui confère un avantage sur HiQPdf.
Compatibilité multiplateforme
L'un des principaux éléments de différenciation entre IronPDF et HiQPdf est la compatibilité multiplateforme. IronPDF offre un support fluide pour Windows, Linux et macOS, ce qui en fait un excellent choix pour les développeurs travaillant dans des environnements diversifiés. Il est également compatible avec Docker, Azure, AWS, et les principales versions .NET, y compris .NET 8, 7, 6, et .NET Core.
HiQPdf, bien que fonctionnel, est plus limité dans son support de plateforme, se concentrant principalement sur les environnements Windows.
Comparaison des principales fonctionnalités mises en avant avec des exemples de code entre IronPDF et HiQPdf
Conversion de HTML en 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
Pour la conversion de HTML en PDF, IronPDF offre une approche simple en utilisant le ChromePdfRenderer pour rendre le contenu HTML en PDF, que vous travailliez avec des documents HTML, des chaînes ou des URLs. IronPDF prend également en charge des scénarios avancés, tels que le rendu de HTML avec des ressources locales comme des images, en spécifiant le chemin du fichier pour les ressources et en enregistrant le résultat. HiQPdf, quant à lui, utilise la classe HtmlToPdf, où le contenu HTML est directement converti en un fichier PDF avec une configuration plus simple. Les deux bibliothèques gèrent efficacement la conversion de HTML en PDF, mais IronPDF offre une flexibilité supplémentaire avec la gestion des actifs.
Chiffrement de documents PDF
Exemple de 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
Lorsqu'il s'agit de chiffrer des documents PDF, IronPDF offre une approche simple avec son API. Les développeurs peuvent supprimer les mots de passe existants, définir de nouveaux paramètres de sécurité, restreindre les actions des utilisateurs telles que les annotations, le copier-coller et la saisie de données de formulaire, et rendre le document en lecture seule. IronPDF permet la modification des métadonnées, la protection par mot de passe et un contrôle précis des autorisations d'impression.
HiQPdf propose également le chiffrement PDF, mais avec un processus légèrement différent, en se concentrant sur la configuration d'un mode de chiffrement, d'un niveau, d'un mot de passe d'ouverture et d'un mot de passe pour les autorisations. Il permet un contrôle granulaire sur les autorisations de document telles que l'impression, la copie de contenu et la modification, avec des autorisations par défaut disponibles lorsqu'elles ne sont pas explicitement définies. Les deux bibliothèques offrent des paramètres de sécurité complets, mais IronPDF propose des fonctionnalités supplémentaires telles que la personnalisation des métadonnées et une gestion plus facile du mode lecture seule des documents.
Rédaction du contenu des documents PDF
Exemple de 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 n'offre pas de fonctionnalité de caviardage explicite dans ses fonctionnalités répertoriées. Il est principalement axé sur la génération, la conversion et la manipulation de PDF, comme la création de PDF à partir de HTML.
IronPDF offre une approche simple pour caviarder du contenu de vos pages de documents PDF. Par exemple, les développeurs peuvent facilement supprimer des textes spécifiques dans un document avec quelques lignes de code, comme on le voit dans l'exemple de code ci-dessus. En revanche, HiQPdf ne dispose pas de fonctionnalités explicites de rédaction dans son ensemble de fonctionnalités, se concentrant principalement sur la génération, la conversion et la manipulation de PDF, comme la création de fichiers PDF à partir de HTML.
Signature numérique de fichiers PDF
Exemple de 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
Lors de la signature numérique de fichiers PDF, IronPDF offre une approche simple en permettant aux développeurs de créer un document PDF à partir de contenu HTML, de le signer avec un certificat numérique et de l'enregistrer avec un minimum de code. HiQPdf, en revanche, nécessite une configuration plus complexe, où un document PDF est créé de manière programmée en ajoutant une page et en intégrant des polices. Un titre et une image sont inclus, suivis par l'application d'une signature numérique utilisant un certificat spécifié, ainsi que des métadonnées détaillées comme le motif de la signature et l'emplacement.
Appliquer des filigranes personnalisés
Exemple de 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 :
Aucun outil de filigrane dédié intégré.
Lors de l'application de filigranes personnalisés, IronPDF offre une solution simple avec un support intégré pour ajouter des filigranes aux fichiers PDF. Dans l'exemple, une URL est rendue sous forme de PDF, et un filigrane personnalisable avec un style HTML est appliqué au centre de la page. Cela permet de modifier facilement le contenu, le style et l'emplacement du filigrane. En revanche, HiQPdf manque d'un outil dédié de filigranage intégré, ce qui le rend moins pratique pour les développeurs nécessitant cette fonctionnalité directement dans la bibliothèque.
Tamponner des images et du texte sur des PDF
Exemple IronPDF (Timbre de texte) :
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
Exemple IronPDF (Timbre d'image) :
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 n'a pas d'outil de tampon dédié pour ajouter directement du texte ou des images en tant que tampons sur des documents PDF. Cependant, il vous permet d'ajouter du texte, des images et des objets graphiques aux PDF, ce qui peut servir un objectif similaire. Cela peut être accompli en créant des objets texte et des objets image dans le PDF en utilisant les fonctionnalités disponibles dans la bibliothèque.
IronPDF propose des classes dédiées pour tamponner du texte et des images directement sur tout document PDF existant ou nouvellement créé, rendant le processus simple pour les développeurs. En revanche, HiQPdf ne dispose pas d'un outil de tamponnage dédié ; Au lieu de cela, il permet aux utilisateurs d'ajouter des objets texte et image dans le PDF, nécessitant une approche plus manuelle pour obtenir des résultats similaires.
Conversion de DOCX en PDF
Exemple de 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 :
HiQPdf étant principalement une bibliothèque de conversion HTML en PDF, elle n'offre pas d'outils intégrés pour convertir DOCX en PDF.
IronPDF offre un support direct pour la conversion DOCX en PDF grâce à sa classe DocxToPdfRenderer, tandis que HiQPdf manque d'outils intégrés pour convertir des fichiers DOCX en PDF, se concentrant plutôt sur la conversion HTML en PDF.
Résumé de la comparaison des exemples de code
Pour en savoir plus sur la riche gamme de fonctionnalités qu'offre IronPDF et les voir en action, consultez les guides how-to sur IronPDF qui explorent en profondeur chaque fonctionnalité, découvrent leur fonctionnement et vous donnent les compétences nécessaires pour devenir un expert en PDF.
Documentation et support : IronPDF vs. HiQPdf
Documentation et support IronPDF :
IronPDF offre une expérience de documentation conviviale pour les développeurs. Sa documentation exhaustive garantit que les développeurs, qu'ils soient débutants ou utilisateurs avancés, peuvent intégrer efficacement IronPDF dans leurs projets. Certains des aspects clés de la documentation d'IronPDF incluent :
Guides étape par étape : Des tutoriels complets pour chaque fonctionnalité, garantissant aux développeurs un chemin clair du début à la fin.
Support technique 24/5 : Des ingénieurs sont disponibles pour vous aider avec toutes questions ou problèmes pendant les heures ouvrables, du lundi au vendredi.
Chat en direct : Assistance en temps réel pour résoudre toutes les questions de licence ou techniques.
Support par e-mail : Les utilisateurs peuvent poser des questions détaillées, et la réponse est rapide et utile.
Référence API : Documentation API détaillée avec des exemples pour chaque méthode et propriété.
Exemples de Code : Extraits de code prêts à l'emploi pour des tâches courantes telles que la conversion HTML en PDF, le chiffrement, l'ajout de filigrane, et plus encore.
Mises à jour régulières : La documentation est fréquemment mise à jour pour refléter les changements dans la bibliothèque et les nouvelles fonctionnalités.
HiQPdf fournit une documentation de base qui prend en charge la plupart de ses fonctionnalités principales. Bien qu'il offre des fonctionnalités pour la conversion de HTML en PDF et la manipulation de PDF basique, la documentation manque de la profondeur et de la complétude que propose IronPDF. Les aspects clés de la documentation HiQPdf incluent :
Référence API de base : Liste les méthodes pour HTML en PDF et les opérations PDF de base.
Exemples de code : Codes d'échantillons limités pour la conversion de HTML en PDF et les réglages de page.
Guidance minimale multi-plateformes : Se concentre principalement sur les environnements Windows avec moins de conseils pour les déploiements multi-plateformes.
Support par e-mail : Principalement pour les questions de licence et les requêtes techniques de base.
Support en direct limité : Moins d'options pour l'assistance en temps réel.
Pour plus de détails techniques sur HiQPdf, les utilisateurs doivent rechercher dans des ressources supplémentaires ou des forums externes.
Tarification et licences : IronPDF vs. HiQPdf
Prix et licences d'IronPDF
IronPDF propose différents niveaux et fonctionnalités supplémentaires pour l'achat d'une licence. Les développeurs peuvent également acheter Iron Suite, qui vous donne accès à tous les produits d'Iron Software au prix de deux. Si vous n'êtes pas prêt à acheter une licence, IronPDF propose une version d'essai gratuite pour que vous puissiez explorer toutes les fonctionnalités qu'il a à offrir avant de vous engager pour une licence.
Licences perpétuelles : Offre une gamme de licences perpétuelles en fonction de la taille de votre équipe, des besoins de votre projet et du nombre de sites. Chaque type de licence inclut le support par email.
Lite License : Cette licence coûte $749 et prend en charge un développeur, un lieu et un projet.
Plus License : Soutenant trois développeurs, trois localisations et trois projets, ceci est l'étape suivante après la licence lite et coûte 1 499 $. La licence Plus offre un support par chat et un support téléphonique en plus du support de base par email.
Licence Professionnelle : Cette licence convient aux équipes plus importantes, prenant en charge dix développeurs, dix sites, et dix projets pour 2 999 $. Elle offre les mêmes canaux de support de contact que les niveaux précédents mais propose également un support par partage d'écran.
Redistribution sans redevance : La licence d'IronPDF offre également une couverture de redistribution sans redevance pour un supplément de 1 999 $
Assistance produit ininterrompue : IronPDF offre un accès aux mises à jour continues du produit, aux améliorations des fonctionnalités de sécurité, et au support de leur équipe d'ingénieurs pour soit 999 $/an, soit un achat unique de 1999 $ pour une couverture de 5 ans.
HiQPdf propose également une variété d'options de licence, mais ses tarifs ont tendance à être légèrement plus rigides :
Licence Startup : 245 $ pour un seul développeur avec une application unique
Licence Développeur : 495 $ pour un développeur avec un nombre illimité d'applications.
Licence Équipe : 795 $ pour jusqu'à cinq développeurs travaillant sur un nombre illimité d'applications.
Enterprise License : 1 095 $ pour un nombre illimité de développeurs avec un nombre illimité d'applications.
Bien que HiQPdf soit compétitivement tarifé, il n'offre pas la même valeur que le pack IronPDF via Iron Suite, ni l'étendue des fonctionnalités avancées incluses dans le prix.
Conclusion
IronPDF et HiQPdf sont tous deux d'excellents choix pour les développeurs .NET qui souhaitent intégrer des fonctionnalités PDF dans leurs applications. Cependant, IronPDF brille par son ensemble de fonctionnalités étendu, sa facilité d'utilisation et sa documentation robuste. Avec sa compatibilité multiplateforme, ses exemples de code riches et son excellent support, IronPDF est une solution idéale pour les développeurs qui ont besoin d'une fonctionnalité PDF complète dans différents environnements.
Si vous recherchez une solution complète offrant d'excellentes performances, flexibilité et support, IronPDF est un choix fortement recommandé. De plus, la capacité d'IronPDF à gérer des fonctionnalités avancées telles que le cryptage, la rédaction et les signatures numériques avec aisance le distingue de HiQPdf.
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier