COMPARAISON

GrabzIt vs IronPDF : Guide de comparaison technique

GrabzItvsIronPDF: Cloud Screenshot Service vs In-Process .NET Library

Lorsque les développeurs .NET évaluent les solutions de génération de PDF, GrabzItapparaît comme un service de capture d'écran et de PDF basé sur le cloud. Bien que pratique pour les intégrations rapides, GrabzItcrée des PDF à base d'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 approche différente : une bibliothèque en cours de traitement 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 à travers des dimensions techniquement pertinentes afin d'aider les développeurs professionnels et les architectes à prendre des décisions éclairées pour leurs besoins en .NET PDF.

Comprendre GrabzIt

GrabzIt est un 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.

Une caractéristique fondamentale de GrabzItest qu'il crée des PDF basés sur des images - essentiellement des captures d'écran enveloppées dans un 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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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 Notes
new GrabzItClient(key, secret) new ChromePdfRenderer() Pas d'authentification nécessaire
HTMLToPDF(html) renderer.RenderHtmlAsPdf(html) Renvoie directement le PDF
HTMLToPDF(html, options) Configurez d'abord RenderingOptions Définir les options avant le rendu
URLToPDF(url) renderer.RenderUrlAsPdf(url) Renvoie directement le PDF
URLToPDF(url, options) Configurez d'abord RenderingOptions Définir les options avant le rendu
HTMLToImage(html) pdf.ToBitmap() Rendre puis convertir
Save(callbackUrl) pdf.SaveAs(path) ou pdf.BinaryData Résultat immédiat
SaveTo(filePath) pdf.SaveAs(filePath) Même fonctionnalité
GetResult(id) N/A Aucun rappel n'est nécessaire
GetStatus(id) N/A Fonctionnement synchrone

Mappage des options PDF aux options de rendu

GrabzItPDFOptions Propriété d'IronPDF Notes
MarginTop RenderingOptions.MarginTop Même unité (mm)
MarginBottom RenderingOptions.MarginBottom Même unité (mm)
MarginLeft RenderingOptions.MarginLeft Même unité (mm)
MarginRight RenderingOptions.MarginRight Même unité (mm)
Taille de la page (A4, Lettre) RenderingOptions.PaperSize Utiliser l'énumération PdfPaperSize
Orientation RenderingOptions.PaperOrientation Portrait ou Paysage
Largeur du navigateur RenderingOptions.ViewPortWidth Largeur de l'écran en pixels
Hauteur du navigateur RenderingOptions.ViewPortHeight Hauteur de l'écran en pixels
Delay RenderingOptions.RenderDelay En millisecondes
CustomWaterMark pdf.ApplyWatermark() Après le rendu
Mot de passe pdf.SecuritySettings.UserPassword Après le rendu
Inclure le fond RenderingOptions.PrintHtmlBackgrounds Booléen
TemplateId RenderingOptions.HtmlHeader/Footer Utiliser des modèles HTML

ImageOptions versIronPDFMapping

GrabzItImageOptions Équivalent d'IronPDF Notes
Format (png, jpg) bitmap.Save(path, ImageFormat.Png) Après ToBitmap()
Largeur RenderingOptions.ViewPortWidth Ou redimensionner l'image
Hauteur RenderingOptions.ViewPortHeight Ou redimensionner l'image

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, c'est-à-dire des images enveloppées dans un 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 de traitement externe : Tous les contenus envoyés à GrabzItsont traités 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.

Callback Architecture Complexity : Le modèle de rappel asynchrone de GrabzItnécessite une infrastructure de gestion des webhooks - points d'extrémité 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 à l'échelle de la capture : Le modèle de paiement à l'utilisation de GrabzItpeut devenir coûteux à mesure que le volume de PDF générés augmente. La licence par développeur d'IronPDF permet d'obtenir des coûts prévisibles quel que soit le volume.

Exigences en matière de recherche de texte : Étant donné que les PDF de GrabzItsont 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 liés à la taille des fichiers : les PDF basés sur des images provenant 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 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

  • Installation rapide : Intégration de clés API sans dépendances locales
  • Language Agnostic : 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 ne peut pas être sélectionné ou recherché sans OCR
  • Traitement externe : Données envoyées à des serveurs tiers
  • Callback Complexity : Nécessite une infrastructure webhook
  • Coût par capture : La tarification varie en fonction du volume
  • Réseau requis : Pas de capacité hors ligne
  • Fichiers plus volumineux : les données d'image augmentent considérablement la taille des fichiers
  • Latence : L'aller-retour sur le réseau ajoute 500 ms à 5 s par demande

Les points forts d'IronPDF

  • True Vector PDFs : texte sélectionnable et consultable
  • Traitement local : Les données restent dans votre infrastructure
  • Opérations synchrones : aucun gestionnaire de rappel n'est 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 en mode natif sans OCR
  • Capable en ligne : Fonctionne sans connexion internet
  • Ressources complètes : tutoriels et documentation exhaustifs

Considérations relatives à IronPDF

  • Ressources locales : Utilise l'unité centrale et la mémoire locale pour le traitement
  • Licence commerciale : Nécessaire 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.