COMPARAISON

GrabzIt vs IronPDF : Guide de comparaison technique

Lorsque les développeurs .NET évaluent les solutions de génération de PDF, GrabzItse distingue comme un service cloud permettant de capturer des captures d'écran et des PDF. Bien qu'il offre une intégration rapide, GrabzItcrée des PDF basés sur des images où le texte n'est pas sélectionnable et nécessite l'envoi de tout le contenu à des serveurs externes pour traitement.IronPDFpropose une autre option : une bibliothèque intégrée qui génère de véritables PDF vectoriels avec du texte sélectionnable et consultable, le tout traité localement sans dépendances externes.

Cette comparaison examine les deux solutions selon des dimensions techniques pertinentes afin d'aider les développeurs et architectes professionnels à prendre des décisions éclairées pour leurs besoins en matière de PDF .NET.

Comprendre GrabzIt

GrabzIt est un logiciel SaaS payant spécialisé dans les services de capture d'écran et de PDF. Il permet aux développeurs de convertir des pages web ou du contenu HTML en PDF par l'intermédiaire d'une API en nuage. Le service utilise GrabzItClient initialisé avec une clé et un secret d'application pour l'authentification.

GrabzIt fournit des méthodes telles que HTMLToPDF() pour la conversion de chaînes HTML, URLToPDF() pour la capture de pages web et HTMLToImage() pour la génération d'images. La configuration utilise des classes d'options telles que PDFOptions avec des propriétés telles que CustomId et PageSize, et ImageOptions avec des propriétés Format, Width, et Height. Les résultats sont enregistrés à l'aide de SaveTo() pour une sortie de fichier synchrone ou de Save() avec une URL de rappel pour un traitement asynchrone.

L'une des principales caractéristiques de GrabzItest qu'il crée des PDF à partir d'images, c'est-à-dire des captures d'écran au format PDF. Le texte de ces PDF n'est pas sélectionnable et la recherche de texte nécessite un traitement OCR. Tout le contenu est envoyé aux serveurs de GrabzItpour traitement, ce qui introduit des considérations de confidentialité et de latence du réseau.

Comprendre IronPDF

IronPDF est une bibliothèque .NET qui s'exécute en cours de processus, générant de véritables PDF vectoriels avec du texte sélectionnable et consultable. La bibliothèque traite tout le contenu localement, sans dépendance vis-à-vis d'un serveur externe.

IronPDF utilise ChromePdfRenderer comme classe de rendu principale avec des méthodes telles que RenderHtmlAsPdf() et RenderUrlAsPdf(). La configuration est assurée par les propriétés RenderingOptions. Pour la conversion d'images, les PDF rendus peuvent être convertis en utilisant ToBitmap(). Les documents sont enregistrés avec SaveAs() et toutes les opérations sont synchrones - aucun gestionnaire de rappel ou crochet web n'est nécessaire.

IronPDF génère des PDF vectoriels où le texte reste sélectionnable et consultable en mode natif, sans nécessiter d'OCR. La taille des fichiers est inférieure à celle des PDF à base d'images et le traitement s'effectue localement avec une latence typique de 100 à 500 ms.

Architecture et comparaison des modèles de traitement

La différence fondamentale entre ces solutions réside dans leur architecture de traitement et leur format de sortie.

Aspect GrabzIt IronPDF
Type de PDF Basée sur l'image (capture d'écran) True vector PDF
Sélection de texte Pas possible Sélection du texte intégral
Recherche de texte Nécessite une OCR Recherche native
Lieu de traitement Serveurs externes Local/processus
Confidentialité Données envoyées à l'extérieur Les données restent locales
Latence Trajet aller-retour sur le réseau (500ms-5s) Traitement local (~100ms)
Modèle de tarification Par capture Licence par développeur
Capacité hors ligne Non Oui
Taille du fichier Grand (données d'image) Petit (données vectorielles)
Callback requis Oui (modèle asynchrone) Non (sync/async)
Support CSS/JS Limité Moteur Chromium complet

L'architecture en nuage de GrabzItsignifie que chaque génération de PDF nécessite un appel HTTP à des serveurs externes. La traduction doit rester professionnelle et préserver l'exactitude technique tout en expliquant les caractéristiques et les avantages de ces outils de développement. L'approche en cours de processus d'IronPDF élimine ces dépendances liées à l'infrastructure.

Code Comparaison : Opérations PDF courantes

Conversion HTML en PDF

L'opération la plus fondamentale démontre les différences d'architecture et d'API.

GrabzIt :

// NuGet: Install-Package GrabzIt
using GrabzIt;
using GrabzIt.Parameters;
using System;

class Program
{
    static void Main()
    {
        var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
        var options = new PDFOptions();
        options.CustomId = "my-pdf";

        grabzIt.HTMLToPDF("<html><body><h1>Hello World</h1></body></html>", options);
        grabzIt.SaveTo("output.pdf");
    }
}
// NuGet: Install-Package GrabzIt
using GrabzIt;
using GrabzIt.Parameters;
using System;

class Program
{
    static void Main()
    {
        var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
        var options = new PDFOptions();
        options.CustomId = "my-pdf";

        grabzIt.HTMLToPDF("<html><body><h1>Hello World</h1></body></html>", options);
        grabzIt.SaveTo("output.pdf");
    }
}
$vbLabelText   $csharpLabel

IronPDF :

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1></body></html>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1></body></html>");
        pdf.SaveAs("output.pdf");
    }
}
$vbLabelText   $csharpLabel

GrabzIt nécessite la création d'un GrabzItClient avec une clé d'application et des informations d'identification secrètes, la configuration de PDFOptions avec des propriétés telles que CustomId, l'appel de HTMLToPDF() avec le contenu HTML et les options, puis l'enregistrement avec SaveTo(). Le contenu est envoyé aux serveurs de GrabzItpour traitement.

IronPDF crée un ChromePdfRenderer, appelle RenderHtmlAsPdf() avec la chaîne HTML directement, et enregistre avec SaveAs(). L'opération est traitée localement, sans authentification externe. Le PDF résultant contient un texte vectoriel véritable qui peut être sélectionné et faire l'objet d'une recherche.

Pour des options de rendu HTML avancées, explorez le guide de conversion du HTML en PDF.

Conversion d'URL en PDF

La conversion de pages web en direct montre des schémas similaires avec différentes approches de configuration.

GrabzIt :

// NuGet: Install-Package GrabzIt
using GrabzIt;
using GrabzIt.Parameters;
using System;

class Program
{
    static void Main()
    {
        var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
        var options = new PDFOptions();
        options.PageSize = PageSize.A4;

        grabzIt.URLToPDF("https://www.example.com", options);
        grabzIt.SaveTo("webpage.pdf");
    }
}
// NuGet: Install-Package GrabzIt
using GrabzIt;
using GrabzIt.Parameters;
using System;

class Program
{
    static void Main()
    {
        var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
        var options = new PDFOptions();
        options.PageSize = PageSize.A4;

        grabzIt.URLToPDF("https://www.example.com", options);
        grabzIt.SaveTo("webpage.pdf");
    }
}
$vbLabelText   $csharpLabel

IronPDF :

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        pdf.SaveAs("webpage.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
        pdf.SaveAs("webpage.pdf");
    }
}
$vbLabelText   $csharpLabel

GrabzIt configure la taille de la page par PDFOptions.PageSize = PageSize.A4, puis appelle URLToPDF() avec l'URL et les options. La page web est capturée sur les serveurs de GrabzItet renvoyée sous la forme d'un PDF à base d'images.

IronPDF appelle RenderUrlAsPdf() directement avec la chaîne d'URL. La taille de la page peut être configurée via renderer.RenderingOptions.PaperSize. La page est rendue localement à l'aide du moteur Chromium embarqué d'IronPDF, produisant un PDF vectoriel avec du texte sélectionnable.

Conversion de HTML en images

La génération d'images démontre les différentes approches pour traiter les sorties non-PDF.

GrabzIt :

// NuGet: Install-Package GrabzIt
using GrabzIt;
using GrabzIt.Parameters;
using System;

class Program
{
    static void Main()
    {
        var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
        var options = new ImageOptions();
        options.Format = ImageFormat.png;
        options.Width = 800;
        options.Height = 600;

        grabzIt.HTMLToImage("<html><body><h1>Hello World</h1></body></html>", options);
        grabzIt.SaveTo("output.png");
    }
}
// NuGet: Install-Package GrabzIt
using GrabzIt;
using GrabzIt.Parameters;
using System;

class Program
{
    static void Main()
    {
        var grabzIt = new GrabzItClient("YOUR_APPLICATION_KEY", "YOUR_APPLICATION_SECRET");
        var options = new ImageOptions();
        options.Format = ImageFormat.png;
        options.Width = 800;
        options.Height = 600;

        grabzIt.HTMLToImage("<html><body><h1>Hello World</h1></body></html>", options);
        grabzIt.SaveTo("output.png");
    }
}
$vbLabelText   $csharpLabel

IronPDF :

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Drawing;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1></body></html>");
        var images = pdf.ToBitmap();
        images[0].Save("output.png", System.Drawing.Imaging.ImageFormat.Png);
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Drawing;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello World</h1></body></html>");
        var images = pdf.ToBitmap();
        images[0].Save("output.png", System.Drawing.Imaging.ImageFormat.Png);
    }
}
$vbLabelText   $csharpLabel

GrabzIt dispose d'une méthode HTMLToImage() dédiée avec ImageOptions pour configurer les propriétés Format, Width, et Height. L'image est générée sur les serveurs de GrabzIt.

IronPDF rend d'abord HTML en PDF à l'aide de RenderHtmlAsPdf(), puis convertit en bitmap à l'aide de ToBitmap() qui renvoie un tableau d'images (une par page). Les images individuelles sont enregistrées à l'aide des méthodes standard System.Drawing. Cette approche en deux étapes permet d'obtenir le même résultat tout en conservant un traitement local.

Pour en savoir plus sur la manipulation des PDF, consultez les tutoriels IronPDF.

Référence de mappage d'API

Pour les développeurs qui évaluent la migration vers GrabzItou qui comparent les capacités, cette correspondance montre les opérations équivalentes :

Mise en correspondance des méthodes de base

Méthode GrabzIt Équivalent d'IronPDF
new GrabzItClient(key, secret) new ChromePdfRenderer()
HTMLToPDF(html) renderer.RenderHtmlAsPdf(html)
HTMLToPDF(html, options) Configurez d'abord RenderingOptions
URLToPDF(url) renderer.RenderUrlAsPdf(url)
URLToPDF(url, options) Configurez d'abord RenderingOptions
HTMLToImage(html) pdf.ToBitmap()
Save(callbackUrl) pdf.SaveAs(path) ou pdf.BinaryData
SaveTo(filePath) pdf.SaveAs(filePath)
GetResult(id) N/A
GetStatus(id) N/A

Mappage des options PDF aux options de rendu

GrabzItPDFOptions Propriété d'IronPDF
MarginTop RenderingOptions.MarginTop
MarginBottom RenderingOptions.MarginBottom
MarginLeft RenderingOptions.MarginLeft
MarginRight RenderingOptions.MarginRight
Taille de la page (A4, Lettre) RenderingOptions.PaperSize
Orientation RenderingOptions.PaperOrientation
Largeur du navigateur RenderingOptions.ViewPortWidth
Hauteur du navigateur RenderingOptions.ViewPortHeight
Delay RenderingOptions.RenderDelay
CustomWaterMark pdf.ApplyWatermark()
Mot de passe pdf.SecuritySettings.UserPassword
Inclure le fond RenderingOptions.PrintHtmlBackgrounds
TemplateId RenderingOptions.HtmlHeader/Footer

ImageOptions versIronPDFMapping

GrabzItImageOptions Équivalent d'IronPDF
Format (png, jpg) bitmap.Save(path, ImageFormat.Png)
Largeur RenderingOptions.ViewPortWidth
Hauteur RenderingOptions.ViewPortHeight

Résumé de la comparaison des fonctionnalités

Fonction GrabzIt IronPDF
PDFs True Vector ❌(basé sur l'image)
Texte sélectionnable
Texte consultable (natif) ❌(nécessite OCR)
Traitement local ❌(serveurs externes)
Capacité hors ligne
Opérations synchrones ⚠️ (modèle de rappel)
Authentification requise ✅(clé/secret)
HTML vers PDF
URL vers PDF
HTML vers image ✅(natif) ✅(via ToBitmap)
Extraction de texte ❌(sans OCR)

Quand les équipes envisagent de passer de GrabzItà IronPDF

Les équipes de développement évaluent la transition de GrabzItàIronPDFpour plusieurs raisons :

Limitations des PDF basés sur des images : GrabzItcrée des PDF basés sur des captures d'écran où le texte n'est pas sélectionnable — essentiellement des images encapsulées au format PDF. Pour les applications nécessitant une sélection de texte, une fonctionnalité de copier/coller ou une conformité en matière d'accessibilité, il s'agit d'une limitation importante.IronPDFgénère de véritables PDF vectoriels avec du texte entièrement sélectionnable et consultable.

Problèmes liés au traitement externe : tout le contenu envoyé à GrabzItest traité sur leurs serveurs externes. Pour les applications traitant des données sensibles, cela introduit des considérations de confidentialité et de conformité.IronPDFtraite tout localement, conservant ainsi les données au sein de votre infrastructure.

Complexité de l'architecture de rappel : le modèle de rappel asynchrone de GrabzItnécessite une infrastructure de gestion des webhooks (points de terminaison de rappel, interrogation de l'état et logique de récupération des résultats).IronPDFpropose des opérations synchrones qui renvoient les résultats immédiatement, éliminant ainsi entièrement le code du gestionnaire de rappel.

Tarification à la capture à grande échelle : le modèle de paiement à l'utilisation de GrabzItpeut devenir coûteux à mesure que le volume de génération de PDF augmente. La licence par développeur d'IronPDF permet d'obtenir des coûts prévisibles quel que soit le volume.

Exigences relatives à la recherche de texte : Les fichiers PDF de GrabzItétant basés sur des images, la recherche et l'extraction de texte nécessitent un traitement OCR distinct. Les PDF d'IronPDF sont nativement consultables, et l'extraction de texte fonctionne directement avec pdf.ExtractAllText().

Problèmes de taille de fichier : les PDF basés sur des images de GrabzItsont nettement plus volumineux (5 à 10 fois) que les PDF basés sur des vecteurs. Pour les applications générant de nombreux PDF ou soumises à des contraintes de stockage, cette différence est substantielle.

Dépendance au réseau : GrabzItne peut pas générer de PDF sans connexion Internet.IronPDFfonctionne hors ligne, ce qui est essentiel pour les applications qui doivent fonctionner dans des environnements déconnectés.

Forces et considérations

Les points forts de GrabzIt

  • Configuration rapide : intégration de la clé API sans dépendances locales
  • Indépendant du langage : fonctionne avec n'importe quel langage capable d'effectuer des appels HTTP
  • Aucune ressource locale : le traitement s'effectue sur l'infrastructure de GrabzIt

Considérations sur GrabzIt

  • PDF basés sur des images : le texte n'est ni sélectionnable ni consultable sans reconnaissance optique de caractères (OCR).
  • Traitement externe : Données envoyées à des serveurs tiers
  • Complexité des rappels : nécessite une infrastructure de webhook
  • Coûts par capture : le prix varie en fonction du volume
  • Réseau requis : aucune fonctionnalité hors ligne
  • Fichiers plus volumineux : les données d'image augmentent considérablement la taille des fichiers.
  • Latence : Le temps d'aller-retour sur le réseau ajoute 500 ms à 5 s par requête.

Les points forts d'IronPDF

  • PDF vectoriels natifs : texte sélectionnable et consultable
  • Traitement local : les données restent au sein de votre infrastructure
  • Opérations synchrones : aucun gestionnaire de rappel nécessaire
  • Fichiers plus petits : les données vectorielles réduisent la taille des fichiers de 5 à 10 fois. Extraction de texte : Extraction de texte natif sans OCR
  • Fonctionne hors ligne : fonctionne sans connexion Internet
  • Ressources complètes : tutoriels et documentation détaillés

Considérations relatives à IronPDF

  • Ressources locales : Utilise le processeur et la mémoire locaux pour le traitement
  • Licence commerciale : requise pour une utilisation en production

Conclusion

GrabzIt etIronPDFreprésentent des approches fondamentalement différentes de la génération de PDF dans les applications .NET. Le service de capture d'écran de GrabzIt, basé sur le cloud, crée des PDF basés sur des images par le biais d'appels API externes, ce qui nécessite une authentification, une gestion des rappels et l'acceptation du fait que le texte ne sera pas sélectionnable dans le résultat.

IronPDF offre une alternative en cours de processus qui génère de véritables PDF vectoriels avec du texte sélectionnable et consultable. La bibliothèque élimine les dépendances externes, l'infrastructure de rappel et la latence du réseau tout en produisant des fichiers plus petits qui prennent en charge l'extraction de texte natif.

Alors que les entreprises planifient .NET 10, C# 14 et le développement d'applications jusqu'en 2026, le choix entre les PDF en nuage basés sur des images et les PDF locaux véritablement vectoriels a un impact significatif sur la convivialité des documents, l'accessibilité et la complexité de l'infrastructure. Les équipes qui ont besoin de texte sélectionnable, de confidentialité des données ou d'une architecture simplifiée trouveront qu'IronPDF répond à ces exigences de manière efficace.

Commencez à évaluerIronPDFavec un essai gratuit et explorez la documentation complète pour évaluer l'adéquation à vos besoins spécifiques.