Passer au contenu du pied de page
COMPARAISONS DE PRODUITS

Une comparaison entre IronPDF et HiQPdf C#

Aperçu de IronPDF et HiQPdf

Pour les développeurs travaillant avec .NET, trouver la bonne solution PDF est essentiel pour construire des applications riches en fonctionnalités, et dans l'ère moderne d'aujourd'hui, il peut être difficile de trouver le bon outil pour vos besoins avec le nombre croissant de produits offrant une technologie de conversion PDF. Dans cette comparaison, nous évaluerons IronPDF et HiQPdf, deux bibliothèques populaires HTML-à-PDF utilisées dans les projets .NET. Bien que les deux bibliothèques offrent de robustes capacités de génération de PDF, IronPDF se distingue par ses fonctionnalités plus complètes, sa compatibilité multiplateforme et son API intuitive.

Que vous recherchiez des options de modification 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.

Caractéristiques clés en un coup d'œil

IronPDF est une bibliothèque PDF polyvalente pour C# et .NET qui permet une génération, une édition et une manipulation de PDF sans faille. Prise en charge de .NET 8, 7, 6 et Core, elle est dotée d'un riche ensemble d'outils pour que les développeurs puissent gérer tout, de la conversion HTML en PDF aux options de sécurité avancées telles que le cryptage 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!

HiQPdf, quant à lui, se concentre principalement sur la conversion HTML en PDF, offrant un solide support pour les éléments CSS3, JavaScript, SVG et Canvas. Bien qu'il fournisse une génération fiable de PDF, HiQPdf manque de certaines fonctionnalités avancées et de la flexibilité qu'offre IronPDF, notamment en matière de compatibilité multiplateforme et de modification détaillée de documents.

Comparaison des caractéristiques clés : Fonctionnalité PDF dans IronPDF vs. HiQPdf

Fonctionnalités d'IronPDF

  • Conversion PDF : IronPDF peut convertir HTML en PDF, avec son support complet des standards web modernes, vous pouvez être assuré que IronPDF renverra systématiquement des PDF au pixel près à 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 d'URL, de fichiers ASPX ou de chaînes HTML.
  • Fonctionnalités de sécurité : Avec IronPDF, vous pouvez ê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 autorisations pour vos fichiers PDF.
  • Fonctionnalités d'édition PDF : Avec IronPDF, vous pouvez traiter des documents PDF existants, les modifier 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 aux applications ASP.NET et MVC.
  • Support des versions PDF : Peut prendre en charge les versions PDF 1.2-1.7

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

Fonctionnalités HiQPdf :

  • Conversion HTML vers 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 fidélité précise.
  • Exécution de JavaScript dans les PDF : exécute du JavaScript à l'intérieur du PDF après conversion, activant ainsi des fonctionnalités interactives.
  • Annotations et signets : Ajoute des annotations PDF standard telles que des commentaires et des surlignages.
  • Prise en charge des formats de papier personnalisés : Offre des options pour définir des formats de papier personnalisés lors de la création de fichiers PDF.
  • Protection par mot de passe de base : Sécurise les fichiers PDF grâce à des options de mot de passe de base permettant de 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 les PDF : Combine plusieurs PDF en un seul document, ou divise les PDF volumineux en fichiers plus petits pour une meilleure gestion.

IronPDF a un ensemble de fonctionnalités plus large, offrant une édition PDF plus avancée, une sécurité et une compatibilité multiplateforme, ce qui lui donne un avantage sur HiQPdf.

Compatibilité multiplateforme

L'un des principaux points différenciateurs entre IronPDF et HiQPdf est la compatibilité multiplateforme. IronPDF offre un support transparent 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 des plateformes, se concentrant principalement sur les environnements Windows.

Comparaison des principales fonctionnalités mises en avant avec des exemples de code entre IronPDF vs. HiQPdf

Conversion HTML en PDF

IronPDF :

using IronPdf;

// Create a new PDF renderer
var renderer = new ChromePdfRenderer();

// Render HTML to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");

// Render HTML to PDF with assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;

// Create a new PDF renderer
var renderer = new ChromePdfRenderer();

// Render HTML to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");

// Render HTML to PDF with assets
var 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");
$vbLabelText   $csharpLabel

Pour la conversion HTML en PDF, IronPDF fournit 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, comme rendre du HTML avec des ressources locales telles que des images. HiQPdf, en revanche, utilise la classe HtmlToPdf, où le contenu HTML est directement converti en un fichier PDF avec une configuration plus basique. Les deux bibliothèques gèrent efficacement la conversion HTML en PDF, mais IronPDF offre une flexibilité supplémentaire avec la gestion des ressources.

Chiffrer des documents PDF

Exemple IronPDF :

using IronPdf;

// Load an existing PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");

// Set metadata and remove existing passwords
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;

// Update security settings
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;

// Set a new password and save the document
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;

// Load an existing PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");

// Set metadata and remove existing passwords
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;

// Update security settings
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;

// Set a new password and save the document
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
$vbLabelText   $csharpLabel

HiQPdf :

// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

// Set encryption mode and level
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode();
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel();

// Set open and permissions passwords
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text;
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 default permissions password if necessary
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 and level
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode();
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel();

// Set open and permissions passwords
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text;
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 default permissions password if necessary
if (htmlToPdfConverter.Document.Security.PermissionsPassword == string.Empty &&
    (htmlToPdfConverter.Document.Security.OpenPassword != string.Empty || !IsDefaultPermission(htmlToPdfConverter.Document.Security)))
{
    htmlToPdfConverter.Document.Security.PermissionsPassword = "admin";
}
$vbLabelText   $csharpLabel

En matière de chiffrement de documents PDF, IronPDF fournit 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, ainsi qu'un contrôle précis des autorisations d'impression.

HiQPdf offre également un chiffrement PDF mais avec un processus légèrement différent, se concentrant sur la définition du mode de chiffrement, du niveau, du mot de passe d'ouverture et du mot de passe d'autorisations. Il permet un contrôle granulaire des autorisations de documents telles que l'impression, la copie de contenu et l'édition, avec des autorisations par défaut disponibles lorsque ce n'est pas explicitement défini. Les deux bibliothèques fournissent des réglages de sécurité complets, mais IronPDF offre des fonctionnalités supplémentaires telles que la personnalisation des métadonnées et une gestion plus facile du mode lecture seule du document.

Rédaction du contenu des documents PDF

Exemple IronPDF :

using IronPdf;

// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact specific text
pdf.RedactTextOnAllPages("are");

// Save the updated PDF
pdf.SaveAs("redacted.pdf");
using IronPdf;

// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact specific text
pdf.RedactTextOnAllPages("are");

// Save the updated PDF
pdf.SaveAs("redacted.pdf");
$vbLabelText   $csharpLabel

HiQPdf n'offre pas de fonctionnalité explicite de rédaction dans ses caractéristiques listé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 rédiger un texte spécifique dans tout un document avec quelques lignes de code, comme vu dans le snippet de code ci-dessus. En revanche, HiQPdf manque de fonctionnalité explicite 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 PDF à partir de HTML.

Signer numériquement des fichiers PDF

Exemple IronPDF :

using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");

// Load a digital certificate and sign the PDF
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);

// Save the signed PDF
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");

// Load a digital certificate and sign the PDF
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);

// Save the signed PDF
pdf.SaveAs("signed.pdf");
$vbLabelText   $csharpLabel

HiQPdf :

// Create a PDF document
PdfDocument document = new PdfDocument();

// Add a page to the document
PdfPage page1 = document.AddPage();

// Create fonts for text
Font sysFont = new Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point);
PdfFont pdfFontEmbed = document.CreateFont(sysFont, true);

// Add a title to the PDF document
PdfText titleTextTransImage = new PdfText(5, 20, "Click the image below to open the digital signature", pdfFontEmbed);
titleTextTransImage.ForeColor = Color.Navy;
PdfLayoutInfo textLayoutInfo = page1.Layout(titleTextTransImage);

// Layout a PNG image with alpha transparency
PdfImage transparentPdfImage = new PdfImage(5, 50, Server.MapPath("~") + @"\DemoFiles\Images\HiQPdfLogo_small.png");
PdfLayoutInfo imageLayoutInfo = page1.Layout(transparentPdfImage);

// Apply digital signature
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);

    // End the HTTP response
    HttpContext.Current.Response.End();
}
finally
{
    document.Close();
}
// Create a PDF document
PdfDocument document = new PdfDocument();

// Add a page to the document
PdfPage page1 = document.AddPage();

// Create fonts for text
Font sysFont = new Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point);
PdfFont pdfFontEmbed = document.CreateFont(sysFont, true);

// Add a title to the PDF document
PdfText titleTextTransImage = new PdfText(5, 20, "Click the image below to open the digital signature", pdfFontEmbed);
titleTextTransImage.ForeColor = Color.Navy;
PdfLayoutInfo textLayoutInfo = page1.Layout(titleTextTransImage);

// Layout a PNG image with alpha transparency
PdfImage transparentPdfImage = new PdfImage(5, 50, Server.MapPath("~") + @"\DemoFiles\Images\HiQPdfLogo_small.png");
PdfLayoutInfo imageLayoutInfo = page1.Layout(transparentPdfImage);

// Apply digital signature
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);

    // End the HTTP response
    HttpContext.Current.Response.End();
}
finally
{
    document.Close();
}
$vbLabelText   $csharpLabel

Pour signer numériquement des fichiers PDF, IronPDF propose 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 programmatique en ajoutant une page et en intégrant des polices. Un titre et une image sont inclus, suivis de l'application d'une signature numérique en utilisant un certificat spécifié, accompagnés de métadonnées détaillées telles que le motif et le lieu de la signature.

Application de filigranes personnalisés

Exemple IronPDF :

using IronPdf;

// Create a PDF renderer and render URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

// Save the PDF
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;

// Create a PDF renderer and render URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

// Save the PDF
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
$vbLabelText   $csharpLabel

HiQPdf :

Aucun outil dédié de filigrane intégré.

Lors de l'application de filigranes personnalisés, IronPDF fournit une solution simple avec un support intégré pour ajouter des filigranes aux PDF. Dans l'exemple, un URL est rendu en tant que PDF et un filigrane personnalisable avec un style HTML est appliqué au centre de la page. Cela permet une modification facile du contenu du filigrane, de son style et de son emplacement. En revanche, HiQPdf manque d'un outil intégré de filigrane dédié, ce qui le rend moins pratique pour les développeurs ayant besoin de cette fonctionnalité directement dans la bibliothèque.

Estampillage d'images et de texte sur des PDF

Exemple IronPDF (Timbre texte) :

using IronPdf;
using IronPdf.Editing;

// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create and apply a text stamp
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;

// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create and apply a text stamp
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");
$vbLabelText   $csharpLabel

Exemple IronPDF (Timbre image) :

using IronPdf;
using IronPdf.Editing;

// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create and apply an image stamp
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;

// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create and apply an image stamp
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
    VerticalAlignment = VerticalAlignment.Top
};

pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
$vbLabelText   $csharpLabel

HiQPdf :

HiQPdf ne dispose pas d'un outil dédié d'estampillage pour ajouter directement du texte ou des images comme timbres sur des documents PDF. Cependant, il vous permet d'ajouter du texte, des images et des objets graphiques aux PDF, ce qui peut remplir un objectif similaire. Cela peut être accompli en créant des objets texte et des objets image au sein du PDF en utilisant les fonctionnalités disponibles dans la bibliothèque.

IronPDF propose des classes dédiées pour estamper texte et images directement sur tout document PDF existant ou nouvellement créé, rendant le processus simple pour les développeurs. En revanche, HiQPdf manque d'un outil d'estampillage dédié; au lieu de cela, il permet aux utilisateurs d'ajouter des objets texte et des objets image au sein du PDF, nécessitant une approche plus manuelle pour obtenir des résultats similaires.

Conversion de DOCX en PDF

Exemple IronPDF :

using IronPdf;

// Render DOCX to PDF
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the converted PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;

// Render DOCX to PDF
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the converted PDF
pdf.SaveAs("pdfFromDocx.pdf");
$vbLabelText   $csharpLabel

HiQPdf :

Comme HiQPdf est principalement une bibliothèque de conversion HTML en PDF, elle n'offre aucun outil DOCX en PDF intégré.

IronPDF offre un support direct pour la conversion DOCX en PDF par le biais de 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 l'ensemble riche de fonctionnalités qu'IronPDF a à offrir, et les voir en action, consultez les guides pratiques d'IronPDF qui plongent profondément dans chaque fonctionnalité, explorent leur fonctionnement, et vous donnent les compétences nécessaires pour devenir un professionnel du PDF.

Framework CSS moderne et rendu Bootstrap

Alors que les applications web modernes adoptent de plus en plus les frameworks CSS comme Bootstrap pour un développement rapide et un design UI cohérent, les bibliothèques de génération de PDF doivent préserver avec précision ces dispositions de framework pour maintenir une qualité professionnelle.

IronPDF : Support complet de Bootstrap et des frameworks

Le moteur de rendu Chromium d'IronPDF offre une prise en charge complète de tous les cadres CSS modernes :

Bootstrap 5 : Flexbox et CSS Grid complets avec toutes les fonctionnalités responsives Bootstrap 4 : Systèmes de cartes complets, navigation et composants de formulaire

  • Tailwind CSS : Toutes les classes utilitaires et les modificateurs responsifs
  • Fondation : Systèmes de grille et de composants complets CSS3 moderne : Flexbox, Grid, propriétés personnalisées, animations, transformations

Validé avec des exemples de production : page d'accueil de Bootstrap et modèles Bootstrap convertis avec une précision pixel par pixel.

Exemple de code : Liste de billets de blog avec Bootstrap

using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapBlog = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Latest Blog Posts</h1>

        <article class='card mb-4 shadow-sm'>
            <div class='row g-0'>
                <div class='col-md-4'>
                    <img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
                </div>
                <div class='col-md-8'>
                    <div class='card-body d-flex flex-column h-100'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <span class='badge bg-primary'>Technology</span>
                            <small class='text-muted'>March 15, 2025</small>
                        </div>
                        <h2 class='card-title h4'>The Future of Web Development</h2>
                        <p class='card-text flex-grow-1'>Exploring emerging trends in web development including serverless architecture, edge computing, and the evolution of JavaScript frameworks...</p>
                        <div class='mt-auto'>
                            <a href='#' class='btn btn-outline-primary'>Read More</a>
                        </div>
                    </div>
                </div>
            </div>
        </article>

        <article class='card mb-4 shadow-sm'>
            <div class='row g-0'>
                <div class='col-md-4'>
                    <img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
                </div>
                <div class='col-md-8'>
                    <div class='card-body d-flex flex-column h-100'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <span class='badge bg-success'>Tutorial</span>
                            <small class='text-muted'>March 10, 2025</small>
                        </div>
                        <h2 class='card-title h4'>Mastering Docker Containerization</h2>
                        <p class='card-text flex-grow-1'>A comprehensive guide to Docker containerization, from basics to advanced deployment strategies for production environments...</p>
                        <div class='mt-auto'>
                            <a href='#' class='btn btn-outline-primary'>Read More</a>
                        </div>
                    </div>
                </div>
            </div>
        </article>

        <nav aria-label='Blog pagination'>
            <ul class='pagination justify-content-center'>
                <li class='page-item disabled'>
                    <a class='page-link'>Previous</a>
                </li>
                <li class='page-item active'><a class='page-link' href='#'>1</a></li>
                <li class='page-item'><a class='page-link' href='#'>2</a></li>
                <li class='page-item'><a class='page-link' href='#'>3</a></li>
                <li class='page-item'>
                    <a class='page-link' href='#'>Next</a>
                </li>
            </ul>
        </nav>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapBlog);
pdf.SaveAs("blog-posts.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapBlog = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container my-5'>
        <h1 class='text-center mb-5'>Latest Blog Posts</h1>

        <article class='card mb-4 shadow-sm'>
            <div class='row g-0'>
                <div class='col-md-4'>
                    <img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
                </div>
                <div class='col-md-8'>
                    <div class='card-body d-flex flex-column h-100'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <span class='badge bg-primary'>Technology</span>
                            <small class='text-muted'>March 15, 2025</small>
                        </div>
                        <h2 class='card-title h4'>The Future of Web Development</h2>
                        <p class='card-text flex-grow-1'>Exploring emerging trends in web development including serverless architecture, edge computing, and the evolution of JavaScript frameworks...</p>
                        <div class='mt-auto'>
                            <a href='#' class='btn btn-outline-primary'>Read More</a>
                        </div>
                    </div>
                </div>
            </div>
        </article>

        <article class='card mb-4 shadow-sm'>
            <div class='row g-0'>
                <div class='col-md-4'>
                    <img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
                </div>
                <div class='col-md-8'>
                    <div class='card-body d-flex flex-column h-100'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <span class='badge bg-success'>Tutorial</span>
                            <small class='text-muted'>March 10, 2025</small>
                        </div>
                        <h2 class='card-title h4'>Mastering Docker Containerization</h2>
                        <p class='card-text flex-grow-1'>A comprehensive guide to Docker containerization, from basics to advanced deployment strategies for production environments...</p>
                        <div class='mt-auto'>
                            <a href='#' class='btn btn-outline-primary'>Read More</a>
                        </div>
                    </div>
                </div>
            </div>
        </article>

        <nav aria-label='Blog pagination'>
            <ul class='pagination justify-content-center'>
                <li class='page-item disabled'>
                    <a class='page-link'>Previous</a>
                </li>
                <li class='page-item active'><a class='page-link' href='#'>1</a></li>
                <li class='page-item'><a class='page-link' href='#'>2</a></li>
                <li class='page-item'><a class='page-link' href='#'>3</a></li>
                <li class='page-item'>
                    <a class='page-link' href='#'>Next</a>
                </li>
            </ul>
        </nav>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapBlog);
pdf.SaveAs("blog-posts.pdf");
$vbLabelText   $csharpLabel

Résultat : Une liste de blogs professionnels avec les mises en page de cartes Bootstrap, l'alignement flexbox, les composants badge et la pagination — le tout rendu avec précision dans le PDF.

HiQPdf : Support limité des frameworks modernes

HiQPdf utilise le rendu HTML basé sur WebKit avec des limitations significatives pour les frameworks CSS modernes :

  • Moteur WebKit : Version WebKit plus ancienne avec prise en charge CSS3 incomplète
  • Flexbox limité : les mises en page Flexbox de Bootstrap 4/5 peuvent ne pas s'afficher correctement.
  • Pas de CSS Grid : les systèmes de grille modernes ne sont pas pris en charge
  • Limite de Bootstrap 3 : Seules les anciennes versions de Bootstrap basées sur des tableaux fonctionnent de manière fiable.
  • Limitations JavaScript : Exécution de JavaScript réduite par rapport aux navigateurs modernes

Problèmes signalés par les développeurs avec HiQPdf :

  • Les composants de navigation Bootstrap s'affichent avec des problèmes d'alignement
  • Les mises en page de cartes basées sur Flexbox ne s'affichent pas correctement
  • Les utilitaires réactifs et les points de rupture ignorés dans la sortie PDF
  • Les composants Bootstrap complexes nécessitent des contournements CSS significatifs

Impact sur le développement : les applications utilisant Bootstrap 4+ nécessitent un travail supplémentaire substantiel avec HiQPdf. Les équipes doivent soit maintenir un CSS simplifié parallèle pour la génération de PDF (double charge de maintenance), limiter l'UI à Bootstrap 3 (sacrifiant les fonctionnalités modernes), ou tester extensivement et corriger manuellement les composants (chronophage et fragile).

Pour des conseils complets sur la compatibilité Bootstrap, voir le Guide CSS Bootstrap & Flexbox.

Documentation et support : IronPDF vs. HiQPdf

Documentation et support IronPDF

IronPDF offre une expérience de documentation conviviale pour les développeurs. Sa documentation robuste garantit que les développeurs, qu'ils soient débutants ou expérimentés, puissent intégrer efficacement IronPDF dans leurs projets. Certains des aspects clés de la documentation IronPDF incluent :

  • Guides étape par étape : tutoriels complets pour chaque fonctionnalité, garantissant aux développeurs un parcours clair du début à la fin.
  • Assistance technique 24h/24 et 5j/7 : Nos ingénieurs sont disponibles pour répondre à toutes vos questions et résoudre tous vos problèmes pendant les heures ouvrables, du lundi au vendredi.
  • Chat en direct : Assistance en temps réel pour résoudre les questions techniques ou relatives aux licences.
  • Assistance par courriel : Les utilisateurs peuvent nous contacter pour toute question détaillée, 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 vers PDF, le chiffrement, le marquage numérique, etc.
  • Mises à jour régulières : documentation fréquemment mise à jour pour refléter les changements apportés à la bibliothèque et les nouvelles fonctionnalités.

Pour plus d'informations, consultez l'documentation exhaustive d'IronPDF, et visitez la chaîne YouTube Iron Software.

Documentation et support HiQPdf

HiQPdf fournit une documentation de base qui soutient la plupart de ses fonctionnalités principales. Bien qu'elle offre des fonctionnalités pour la conversion HTML en PDF et la manipulation de PDF basique, la documentation manque de la profondeur et de l'exhaustivité qu'IronPDF fournit. Principaux aspects de la documentation HiQPdf incluent :

  • Référence API de base : Liste les méthodes de conversion HTML en PDF et les opérations PDF de base.
  • Exemples de code : Exemples de code limités pour la conversion HTML vers PDF et la configuration des pages.
  • Conseils multiplateformes minimaux : se concentre principalement sur les environnements Windows et fournit moins d'indications pour les déploiements multiplateformes.
  • Assistance par courriel : principalement pour les questions de licences et les demandes techniques de base.
  • Assistance en direct limitée : moins d'options pour l'assistance en temps réel.

Pour plus de détails techniques sur HiQPdf, les utilisateurs doivent rechercher à travers des ressources supplémentaires ou des forums externes.

Tarification et licence : IronPDF vs. HiQPdf

Tarification et licences d'IronPDF

IronPDF propose différents niveaux et fonctionnalités supplémentaires pour l'achat d'une licence. Les développeurs peuvent aussi acheter [Iron Suite](Iron Suite) qui 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 un essai gratuit afin que vous puissiez explorer toutes les fonctionnalités avant de vous engager à une licence.

Tarification (à partir de 2025) :

  • Licences perpétuelles : Propose une gamme de licences perpétuelles dépendant de la taille de votre équipe, des besoins de votre projet, et du nombre d'emplacements chaque type de licence vient avec un support par e-mail.
  • Licence Lite : Cette licence coûte $799 et prend en charge un développeur, un lieu et un projet.
  • Licence Plus : Supportant trois développeurs, trois emplacements et trois projets, c'est la progression à partir de la licence Lite et coûte $1,199. La licence Plus offre un support chat et un support par téléphone en plus de l'assistance par e-mail de base.
  • Licence Professionnelle : Cette licence convient aux équipes plus importantes, prenant en charge dix développeurs, dix sites et dix projets pour $2,399. Elle offre les mêmes canaux de support de contact que les niveaux précédents mais offre é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 $2,399
  • Support produit ininterrompu : IronPDF offre un accès aux mises à jour continues du produit, aux mises à jour des fonctionnalités de sécurité, et au support de leur équipe d'ingénierie soit pour $999/an ou un achat unique de $1,999 pour une couverture de 5 ans.
  • Iron Suite : Pour $1,498 , vous bénéficiez d'un accès à tous les produits Iron Software, notamment IronPDF , IronOCR , IronWord , IronXL , IronBarcode , IronQR , IronZIP , IronPrint et IronWebScraper .

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

Tarification et licence HiQPdf

HiQPdf offre également une variété d'options de licence, mais son prix tend à être légèrement plus rigide :

  • Licence Startup : $245 pour un seul développeur avec une seule application
  • 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 quelconque d'applications.
  • Licence Entreprise : 1 095 $ pour un nombre illimité de développeurs et un nombre illimité d'applications.

Bien que HiQPdf soit à un prix compétitif, il n'offre pas la même valeur que l'ensemble IronPDF via Iron Suite, ni la diversité des fonctionnalités avancées incluses dans le prix.

Conclusion

IronPDF et HiQPdf sont tous deux d'excellents choix pour les développeurs .NET souhaitant 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 excellente solution pour les développeurs ayant besoin de fonctionnalités PDF complètes 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, le caviardage et les signatures numériques avec facilité le distingue de HiQPdf.

Veuillez noterHiQPdf est une marque déposée de son propriétaire respectif. Ce site n'est pas affilié à, soutenu ou sponsorisé par HiQPdf. Tous les noms de produits, logos et marques sont la propriété de leurs propriétaires respectifs. Les comparaisons sont faites à titre d'information uniquement et reflètent les informations publiquement disponibles au moment de la rédaction.

Questions Fréquemment Posées

Comment puis-je convertir HTML en PDF en C# ?

Vous pouvez utiliser la méthode RenderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML en PDFs. Vous pouvez également convertir des fichiers HTML en PDFs en utilisant RenderHtmlFileAsPdf.

Quelles plateformes sont prises en charge par IronPDF ?

IronPDF est compatible avec Windows, Linux, macOS, Docker, Azure, AWS, et les principales versions de .NET, notamment .NET 8, 7, 6 et .NET Core.

Puis-je appliquer des signatures numériques aux PDF en C# ?

Oui, IronPDF vous permet d'appliquer des signatures numériques à vos documents PDF en utilisant son API. Vous pouvez spécifier des certificats et des métadonnées comme la raison et le lieu de signature.

Comment puis-je ajouter un filigrane à un document PDF ?

IronPDF inclut un support intégré pour l'ajout de filigranes personnalisés aux PDFs. Vous pouvez facilement intégrer des filigranes dans vos documents PDF en utilisant l'API d'IronPDF.

Quelles fonctionnalités de sécurité IronPDF propose-t-il ?

IronPDF offre des fonctionnalités de sécurité avancées, notamment le chiffrement, la protection par mot de passe, les paramètres de permissions et la possibilité de rendre les documents en lecture seule.

IronPDF prend-il en charge la conversion de DOCX en PDF ?

Oui, IronPDF prend en charge la conversion de DOCX en PDF. Vous pouvez utiliser la classe DocxToPdfRenderer pour convertir des documents DOCX en PDFs de manière transparente.

Comment IronPDF gère-t-il la conversion de HTML en PDF ?

IronPDF utilise le ChromePdfRenderer pour rendre le contenu HTML en PDFs, prenant en charge les documents HTML, les chaînes, les URL, et les scénarios avec des ressources locales comme les images.

Quel support et documentation IronPDF offre-t-il ?

IronPDF offre une documentation complète avec des guides pas à pas, des références API étendues et des exemples de code. Il propose également un support technique 24/5 via chat en direct et email.

IronPDF peut-il être utilisé pour expurger le contenu dans les documents PDF ?

Oui, IronPDF fournit une approche simple pour expurger des textes spécifiques tout au long d'un document PDF, permettant aux développeurs de gérer efficacement les informations sensibles.

Quels types de licences sont disponibles pour IronPDF ?

IronPDF propose diverses licences, y compris Lite, Plus, Professional, et une Iron Suite qui offre un accès à tous les produits Iron Software. Il propose également des options de redistribution gratuites de droits.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite