COMPARAISON DES PRODUITS

Comparaison entre IronPDF et HiQPdf C#

Chaknith Bin
Chaknith Bin
avril 10, 2022
Mise à jour novembre 12, 2024
Partager:

Présentation d'IronPDF et HiQPdf

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

    Pour une liste complète des fonctionnalités d'IronPDF, visitez Fonctionnalités d'IronPDF.

Fonctionnalités de HiQPdf :

  • 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");
Imports IronPdf
Imports System

Private 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")
$vbLabelText   $csharpLabel

HiQPdf :

// 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

Hiqpdf Html To Pdf Alternative 1 related to 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.

    Pour plus d'informations, consultez la documentation complète d'IronPDF, et visitez la chaîne YouTube d'Iron Software.

Documentation et support HiQPdf :

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.
  • Iron Suite : Pour 1 498 $, vous avez accès à tous les produits Iron Software, y compris IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint, et IronWebScraper.

    Hiqpdf Html To Pdf Alternative 2 related to Prix et licences d'IronPDF

HiQPdf Prix et Licences :

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 Bin
Ingénieur logiciel
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.
< PRÉCÉDENT
Comparaison entre IronPDF et PDFTron