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 évalueronsIronPDFet HiQPdf, deux bibliothèques populaires de conversion HTML en PDF 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 la génération, l'édition et la 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 plus encore.!
HiQPdf, quant à lui, se concentre principalement sur la conversion de 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 sûr qu'IronPDF retournera constamment des PDF parfaits au pixel près à partir de votre page HTML ou contenu. 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 d'URL, 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 avecASP.NETet les applications MVC.
Prise en charge des versions PDF : Peut prendre en charge les versions PDF 1.2-1.7
Conversion de 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 PDFs : Exécute du JavaScript à l'intérieur du PDF après conversion, permettant des fonctionnalités interactives.
Annotations et signets : Ajoute des annotations PDF standard telles que des commentaires et des surlignages.
Support de taille de papier personnalisée : Offre des options pour définir des tailles de papier personnalisées lors de la création de PDF.
Protection par mot de passe basique : Sécurise les PDF avec des options de mot de passe basiques 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 & Diviser des PDF : Combine plusieurs PDF en un seul document, ou divise de grands PDF 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. IronPDFoffre une prise en charge transparente pour Windows, Linux et macOS, ce qui en fait un excellent choix pour les développeurs travaillant dans des environnements divers. 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")
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")
PourConversion de HTML en PDFIronPDF propose 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 URL. 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 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
Lorsqu'il s'agit decryptage des documents PDFIronPDF 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 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")
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 pourbiffer du contenudepuis les pages de votre document 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 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")
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
Ensignature numériqueIronPDF 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 code minimal. 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 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")
HiQPdf:
Aucun outil de filigrane dédié intégré.
Quandapplication de filigranes personnalisésIronPDF offre une solution simple avec une prise en charge intégrée pour ajouter des filigranes aux 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(Tampon 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")
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")
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 pourtexte et images de marquagedirectement sur n'importe quel document PDF existant ou sur de nouveaux documents créés, 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 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")
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 pourConversion de DOCX en PDFpar sa classe DocxToPdfRenderer, tandis que HiQPdf manque d'outils intégrés pour convertir les 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 l'ensemble riche de fonctionnalités qu'IronPDF a à offrir, et les voir en action, consultez IronPDF.comment faireguides qui approfondissent chaque fonctionnalité, explorent leur fonctionnement et vous donnent les compétences dont vous avez besoin pour devenir un pro du 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 que les développeurs disposent d'un chemin clair du début à la fin.
Assistance technique 24/5 : Des ingénieurs sont disponibles pour vous aider avec toute question ou problème pendant les heures ouvrables, du lundi au vendredi.
Chat en direct : Support en temps réel pour résoudre toute question de licence ou technique.
Support par e-mail : Les utilisateurs peuvent contacter pour des demandes détaillées, et la réponse est rapide et utile.
Référence de l'API : Documentation détaillée de l'API 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 de HTML en PDF, le cryptage, l'ajout de filigranes, 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 la conversion de HTML en PDF et les opérations PDF de base.
Exemples de Code : Exemples de code limités pour la conversion HTML en PDF et les paramètres de page.
Conseils minimaux pour la compatibilité multiplateforme : Se concentre principalement sur les environnements Windows avec moins de directives pour les déploiements multiplateformes.
Support par e-mail : Principalement pour les questions de licences 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
IronPDFa différents niveaux et fonctionnalités supplémentaires pour l'achat d'une licence. Les développeurs peuvent également acheterIron Suitequi 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 unessai gratuitafin que vous puissiez explorer toutes les fonctionnalités qu'il a à offrir avant de vous engager à acheter une licence.
Licences perpétuelles : Offre une gamme de licences perpétuelles en fonction de la taille de votre équipe, de vos besoins de 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 emplacement et un projet.
Plus License : Supportant trois développeurs, trois emplacements et trois projets, c'est l'étape suivante par rapport à la licence Lite et coûte 1 499 $. La licence Plus offre une assistance par chat et par téléphone en plus de l'assistance par e-mail de base.
Professional License : Cette licence convient aux équipes plus importantes, supportant dix développeurs, dix emplacements et dix projets pour 2 999 $. Elle offre les mêmes canaux de support que les niveaux précédents mais propose également un support par partage d'écran.
Redistribution libre de droits : La licence d'IronPDF offre également une couverture de redistribution libre de droits 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 999 $/an ou un achat unique de 1 999 $ 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 développeur unique avec une seule application
Licence Développeur : 495 $ pour un développeur avec un nombre illimité d'applications.
Team License : 795 $ pour jusqu'à cinq développeurs travaillant sur un nombre illimité d'applications.
Licence Enterprise : 1 095 $ pour un nombre illimité de développeurs avec un nombre quelconque 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,IronPDFbrille 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,IronPDFest un choix fortement recommandé. De plus, la capacité d'IronPDF à gérer facilement des fonctionnalités avancées telles que le chiffrement, la rédaction et les signatures numériques le distingue de HiQPdf.
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
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