Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
Si vous souhaitez convertir votre site HTML dans d'autres formats, vous êtes au bon endroit. Cet article explique comment transformer vos fichiers HTML, CSS et JS en PDF. De nos jours, tout est basé sur la technologie, et ceux qui conçoivent ces technologies ont besoin de solutions pour gagner du temps - dans l'un des langages de programmation les plus utilisés, le C# de .NET. En C#, les méthodes traditionnelles pour aborder les fichiers PDF et les manipuler sont complexes et fastidieuses. Les utilisations les plus courantes des fichiers PDF sont les suivantes
Génération de HTML en PDF
De nombreux outils ont été développés pour gérer ces conversions PDF et résoudre les problèmes qui se posent. Cet article compare les deux bibliothèques C# les plus appréciées des développeurs pour les conversions PDF. Les outils pertinents sont les suivants :
IronPDF est l'outil rêvé pour la conversion de sites HTML dans le cadre du développement .NET et .NET core. Il ne se contente pas de convertir du HTML, mais offre également de nombreuses autres fonctionnalités. Au sein des projets .NET Core et framework, IronPDF permet aux développeurs de générer, modifier et extraire des documents PDF. Les développeurs peuvent rapidement créer ou transformer des PDF à partir de documents HTML en utilisant la bibliothèque IronPDF.
IronPDF vous permet de lire automatiquement les informations contenues dans les fichiers PDF et de les injecter dans vos applications .NET et vos systèmes de stockage de données. Le contenu des anciens documents PDF peut être importé, migré et indexé dans vos applications de gestion documentaire et de processus métier.
2.1.1. Conversions PDF**
Cette fonction inclut la création de PDF à partir de différents formats tels que HTML, chaînes HTML, vues MVC, formulaires Web et URL.
__2.1.2. Imagerie PDF___
Cela permet aux utilisateurs de créer des images à partir de PDF et de créer des PDF à partir d'images. Il comprend l'extraction d'images, la prise en charge de différentes extensions d'images et l'impression de PDF.
2.1.3. Fichiers PDF IO
IronPDF offre également des fonctions de cryptage 128 bits pour les PDF, de verrouillage des PDF par mot de passe et de signature numérique des PDF.
__2.1.4. Édition des PDF___
Cette fonction d'IronPDF permet tous les types de formatage de PDF tels que l'ajout de filigranes, l'ajout de pages, la suppression de pages, les arrière-plans, les premiers plans, et bien plus encore. En bref, IronPDF offre tout ce que vous pouvez faire avec les PDF.
__2.1.5. Extraction du contenu des PDF___
Dans de nombreux cas, vous pouvez extraire directement le texte incorporé dans les PDF. Si cela ne fonctionne pas, votre lecteur est probablement intégré dans une image. Utilisez la bibliothèque IronOCR pour numériser des documents afin d'en extraire le texte visuel, et non le texte brut.
2.1.6. En-têtes et pieds de page**
Des en-têtes et des pieds de page peuvent être ajoutés lors de la création d'un PDF ou à des PDF existants. La propriété Options d'impression permet de créer un en-tête et un pied de page pour chaque page du document. Accédez à ces options sur l'objet Renderer PDF Chrome. Cet exemple fonctionne à l'intérieur d'une application console .NET Core.
__2.1.7. Compatibilité___
IronPDF prend en charge presque tous les systèmes d'exploitation et frameworks compatibles avec C# tels que :
Prend en charge : Windows, Azure
.NET Core 2.1, 3.0, 3.1, .NET 6 & ; 5
conformité au Standard .NET 2.0 pour une compatibilité universelle
L'azur
+ AWS
+ Docker
+ Linux
DocRaptor est une solution professionnelle pour la conversion de documents, mais contrairement à IronPDF, il offre des fonctionnalités limitées pour les dictionnaires de programmation multiples. Il s'agit d'un outil basé sur une API qui peut être intégré à n'importe quel langage. Il est de haute qualité et rapide, ce qui vous permet de gagner du temps. Il permet également de convertir des fichiers XML en XLSX.
DocRaptor propose d'héberger vos documents pour vous. Il prend en charge les CSS et les JS. Ce sont d'excellentes caractéristiques pour les petites entreprises qui ne possèdent pas leurs propres serveurs.
3.1.1. Génération de HTML en PDF**
DocRaptor permet de générer rapidement et simplement des documents HTML, CSS et JS au format PDF et XLS. Il suffit d'envoyer votre contenu HTML et les arguments nécessaires aux API Docs, soit sous la forme d'un texte encodé, soit sous la forme d'un objet JSON.
3.1.2 Format HTML vers Excel**
De nombreux rapports et exportations de données nécessitent l'utilisation des formats PDF et Excel. L'outil HTML de DocRaptor facilite cette tâche!
**__3.1.3. Hébergement de documents___***
Le document sera sauvegardé sur des URL sans marque et sera accessible à tout le monde, où que l'on se trouve. Vous pouvez le conserver indéfiniment ou le supprimer après une certaine date ou un certain nombre de téléchargements.
Note:
Selon les données recueillies auprès de l NuGet Sur le site Web, IronPDF est plus populaire que DocRaptor, avec un total de 3,0 millions de téléchargements, les téléchargements quotidiens étant en moyenne de 1,3 million. En revanche, DocRaptor ne compte que 114,9 milliers de téléchargements au total, avec une moyenne de 51 téléchargements par jour.
Ouvrez le logiciel Visual Studio et allez dans le menu Fichier. Sélectionnez "nouveau projet", puis sélectionnez l'application console. Dans cet article, nous allons utiliser une application console pour générer des documents PDF.
Saisissez le nom du projet et sélectionnez le chemin d'accès dans la zone de texte appropriée. Cliquez ensuite sur le bouton Créer. Sélectionnez le Framework .NET requis, comme dans la capture d'écran ci-dessous :
Le projet Visual Studio va maintenant générer la structure de l'application sélectionnée et, si vous avez choisi l'application console, Windows et web, il ouvrira le fichier program.cs dans lequel vous pourrez saisir le code et construire/exécuter l'application.
Nous pouvons maintenant ajouter la bibliothèque et tester le programme.
La bibliothèque IronPDF peut être téléchargée et installée de quatre manières différentes. Il s'agit de
Le logiciel Visual Studio propose l'option NuGet Package Manager pour installer le paquet directement dans la solution. La capture d'écran ci-dessous montre comment ouvrir le gestionnaire de paquets NuGet.
Il fournit un champ de recherche pour afficher la liste des bibliothèques de paquets disponibles sur le site web de NuGet. Dans le gestionnaire de paquets, nous devons rechercher le mot-clé "IronPDF", comme dans la capture d'écran ci-dessous :
Dans l'image ci-dessus, nous obtiendrons la liste de recherche des paquets apparentés. Nous devons sélectionner l'option IronPDF et installer le paquet dans notre solution.
Install-Package IronPdf
Le paquet sera alors téléchargé/installé dans le projet en cours et prêt à être utilisé.
La troisième méthode consiste à télécharger le paquet NuGet directement à partir de la page web.
Cliquez sur le bouton lien ici pour télécharger le dernier paquet directement à partir de la page web. Après le téléchargement, suivez les étapes ci-dessous pour ajouter le paquet au projet.
L'équipe de DocRaptor propose presque toutes les mêmes méthodes pour intégrer l'API. Il s'agit de
Comme expliqué précédemment pour IronPDF, les étapes sont les mêmes pour ouvrir le NuGet Package Manager.
Après avoir ouvert le Gestionnaire de paquets, écrivez simplement DocRaptor dans la barre de recherche.
Comme le montre l'image ci-dessus, il y a trois résultats pour DocRaptor. Sélectionnez l'option souhaitée.
Dans le menu Visual Studio, allez dans Outils-> NuGet Package manager -> Console du gestionnaire de paquets. Saisissez la ligne suivante dans l'onglet de la console du gestionnaire de paquets : install-Package DocRaptor. Le paquet sera alors téléchargé/installé dans le projet en cours et prêt à être utilisé.
La troisième méthode consiste à télécharger le paquet NuGet directement à partir de la page web.
Les deux outils intègrent cette fonctionnalité pour la conversion HTML, bien qu'ils le fassent de manière quelque peu différente.
La conversion de pages à l'aide d'IronPDF ne nécessite pas l'utilisation de JSON et de techniques de cryptage ; c'est assez simple en fait. IronPDF permet un grand nombre de méthodes différentes. Par exemple :
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf");
Dim Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf")
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");
Pdf.SaveAs("url.pdf");
Dim Renderer As New IronPdf.ChromePdfRenderer()
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")
Pdf.SaveAs("url.pdf")
private void Form1_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
//Changes the ASPX output into a pdf instead of HTML
}
private void Form1_Load(object sender, EventArgs e)
{
IronPdf.AspxToPdf.RenderThisPageAsPdf();
//Changes the ASPX output into a pdf instead of HTML
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.AspxToPdf.RenderThisPageAsPdf()
'Changes the ASPX output into a pdf instead of HTML
End Sub
DocRaptor gère la conversion à l'aide de requêtes HTTP post en utilisant le support JSON, mais ne fournit que des fonctionnalités pour convertir des fichiers URL et HTML en PDF.
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System.IO;
class Example {
tatic void Main(string [] args) {
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
Doc doc = new Doc(
test: true,
//documentContent: System.IO.File.ReadAllText(@"custom-fonts- content.html"),
documentUrl: "http://www.docraptor.com/examples/invoice.html",
name: "docraptor-csharp.pdf",
documentType: Doc.DocumentTypeEnum.Pdf
);
yte [] createResponse = docraptor.CreateDoc(doc);
}
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System.IO;
class Example {
tatic void Main(string [] args) {
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
Doc doc = new Doc(
test: true,
//documentContent: System.IO.File.ReadAllText(@"custom-fonts- content.html"),
documentUrl: "http://www.docraptor.com/examples/invoice.html",
name: "docraptor-csharp.pdf",
documentType: Doc.DocumentTypeEnum.Pdf
);
yte [] createResponse = docraptor.CreateDoc(doc);
}
Imports DocRaptor.Client
Imports DocRaptor.Model
Imports DocRaptor.Api
Imports System.IO
Friend Class Example
Private tatic Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Dim doc As New Doc(test:= True, documentUrl:= "http://www.docraptor.com/examples/invoice.html", name:= "docraptor-csharp.pdf", documentType:= Doc.DocumentTypeEnum.Pdf)
Dim createResponse() As yte = docraptor.CreateDoc(doc)
End Sub
IronPDF et DocRaptor prennent tous deux en charge le formatage des PDF. Cependant, IronPDF ne prend en charge qu'un seul fichier, tandis que DocRaptor prend en charge plusieurs fichiers.
Pour s'assurer du comportement attendu du PDF de sortie, nous utilisons différents styles de formatage. Dans cet article, nous discuterons de certains d'entre eux et les comparerons avec DocRaptor.
Polices de caractères personnalisées
IronPDF prend en charge les polices de caractères Web, y compris l'incroyable bibliothèque Google Fonts. Le développeur dispose ainsi d'un contrôle total sur les polices de caractères sans avoir à dépendre des polices de caractères du système.
using IronPdf;
ChromePdfRenderer myChromePdfRenderer = new IronPdf.ChromePdfRenderer();
var Renderer = new IronPdf.ChromePdfRenderer();
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster""
rel=""stylesheet""><p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";
Renderer.RenderingOptions.RenderDelay = 500;
var doc = Renderer.RenderHtmlAsPdf(html);
doc.SaveAs("font.pdf");
using IronPdf;
ChromePdfRenderer myChromePdfRenderer = new IronPdf.ChromePdfRenderer();
var Renderer = new IronPdf.ChromePdfRenderer();
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster""
rel=""stylesheet""><p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";
Renderer.RenderingOptions.RenderDelay = 500;
var doc = Renderer.RenderHtmlAsPdf(html);
doc.SaveAs("font.pdf");
Imports IronPdf
Private myChromePdfRenderer As ChromePdfRenderer = New IronPdf.ChromePdfRenderer()
Private Renderer = New IronPdf.ChromePdfRenderer()
Private html = "<link href=""https://fonts.googleapis.com/css?family=Lobster""
rel=""stylesheet""><p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>"
Renderer.RenderingOptions.RenderDelay = 500
Dim doc = Renderer.RenderHtmlAsPdf(html)
doc.SaveAs("font.pdf")
Filigranes
IronPDF propose des méthodes pour "filigraner" les documents PDF avec du HTML. Les filigranes peuvent être affichés au-dessus ou au-dessous du contenu existant et disposent d'une capacité intégrée d'opacité, de rotation et d'hyperliens.
using IronPdf;
// Stamps a watermark onto a new or existing PDF
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", ronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf
using IronPdf;
// Stamps a watermark onto a new or existing PDF
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
var Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", ronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf");
Pdf.SaveAs(@"C:\Path\To\Watermarked.pdf
Imports IronPdf
' Stamps a watermark onto a new or existing PDF
Private Renderer As New IronPdf.ChromePdfRenderer()
Private Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
Pdf.WatermarkAllPages("<h2 style='color:red'>SAMPLE</h2>", ronPdf.Editing.WaterMarkLocation.MiddleCenter, 50, -45, "https://www.nuget.org/packages/IronPdf")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Pdf.SaveAs("TangibleTempVerbatimOpenTagC:\Path\To\Watermarked.pdf
Numéros de page
La fonctionnalité "En-tête et pied de page" d'IronPDF nous permet de fusionner les informations relatives à la numérotation des pages.
// PM> Install-Package IronPdf
using IronPdf;
var html = @"
<p> Hello Iron</p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>";
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.HtmlFooter = new IronPdf.HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
var pdfdoc = Renderer.RenderHtmlAsPdf(html);
pdfdoc.SaveAs("pageNumber.pdf");
// PM> Install-Package IronPdf
using IronPdf;
var html = @"
<p> Hello Iron</p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>";
var Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.HtmlFooter = new IronPdf.HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
var pdfdoc = Renderer.RenderHtmlAsPdf(html);
pdfdoc.SaveAs("pageNumber.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
Private html = "
<p> Hello Iron</p>
<p> This is 1st Page </p>
<div style = 'page-break-after: always;' ></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;' ></div>
<p> This is 3rd Page</p>"
Private Renderer = New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.HtmlFooter = New IronPdf.HtmlHeaderFooter() With {
.MaxHeight = 15,
.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
.DrawDividerLine = True
}
Dim pdfdoc = Renderer.RenderHtmlAsPdf(html)
pdfdoc.SaveAs("pageNumber.pdf")
DocRaptor prend en charge le formatage PDF dans l'API .NET - mais il est assez difficile à gérer. Examinons trois exemples de formatage précédents :
Polices de caractères personnalisées
Les polices personnalisées sont faciles à utiliser dans DocRaptor. Il fonctionne de la même manière que pour une page web standard. Voici un exemple de CSS utilisant une police Google :
Codage CSS :
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v8/DXI1ORHCpsQm3Vp6mXoaTaRDOzjiPcYnFooOUGCOsRk.woff) format('woff');
}
p {
font-family: Arial, Helvetica, sans-serif;
}
p.custom-font {
font-family: 'Open Sans', sans-serif;
}
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
src: local('Open Sans Light'), local('OpenSans-Light'), url(http://themes.googleusercontent.com/static/fonts/opensans/v8/DXI1ORHCpsQm3Vp6mXoaTaRDOzjiPcYnFooOUGCOsRk.woff) format('woff');
}
p {
font-family: Arial, Helvetica, sans-serif;
}
p.custom-font {
font-family: 'Open Sans', sans-serif;
}
Codage HTML :
<h2>Custom Fonts</h2>
<p>Hi, my name is Arial.</p>
<p class='custom-font'>I like to walk on the beach on warm Open Sans.</p>
<h2>Custom Fonts</h2>
<p>Hi, my name is Arial.</p>
<p class='custom-font'>I like to walk on the beach on warm Open Sans.</p>
Codage en C# :
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "custom-fonts",
test: true, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"custom-fonts-content.html"),
/ documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables rocessing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("custom-fonts.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "custom-fonts",
test: true, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"custom-fonts-content.html"),
/ documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables rocessing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("custom-fonts.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
Friend Class Example
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "custom-fonts", test:= True, documentContent:= System.IO.File.ReadAllText("custom-fonts-content.html"), / documentUrl:= "http://docraptor.com/examples/invoice.html", documentType:= Doc.DocumentTypeEnum.Pdf)
Dim create_response() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("custom-fonts.pdf", create_response)
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
End Class
SORTIE
Filigranes
Les filigranes sont présents sur de nombreux PDF. Heureusement, l'outil HTML-PDF de DocRaptor facilite la création de documents filigranés produits dynamiquement!
Codage CSS :
#watermark {
flow: static(watermarkflow);
font-size: 120px;
opacity: 0.5;
transform: rotate(-30deg);
text-align: center;
}
#watermark {
flow: static(watermarkflow);
font-size: 120px;
opacity: 0.5;
transform: rotate(-30deg);
text-align: center;
}
Codage HTML :
<body><div id="watermark">PREVIEW</div>
<div style="page-break-after: always;">Page 1</div>
<div style="page-break-after: always;">Page 2</div>
<div style="page-break-after: always;">Page 3</div>
</body>
<body><div id="watermark">PREVIEW</div>
<div style="page-break-after: always;">Page 1</div>
<div style="page-break-after: always;">Page 2</div>
<div style="page-break-after: always;">Page 3</div>
</body>
Codage en C# :
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "text-based-watermark",
test: false, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"text-based-watermark-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("text-based-watermark.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "text-based-watermark",
test: false, // test documents are free but watermarked
documentContent: System.IO.File.ReadAllText(@"text-based-watermark-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("text-based-watermark.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
Friend Class Example
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "text-based-watermark", test:= False, documentContent:= System.IO.File.ReadAllText("text-based-watermark-content.html"), documentType:= Doc.DocumentTypeEnum.Pdf)
Dim create_response() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("text-based-watermark.pdf", create_response)
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
Numéros de page
Avec les outils HTML à PDF open-source, l'ajout de numéros de page aux documents PDF est difficile et parfois presque impossible, mais DocRaptor en fait un jeu d'enfant!
Codage CSS :
@page {
@bottom {
content: "Page " counter(page, upper-alpha) " of " counter(pages, decimal);
} }
@page {
@bottom {
content: "Page " counter(page, upper-alpha) " of " counter(pages, decimal);
} }
Codage HTML :
<body>
<div style="page-break-after: always;">Page1</div>
<div style="page-break-after: always;">Page2</div>
<div style="page-break-after: always;">Page3</div>
<div id="page4" style="page-break-after: always;">Page4, with reset page counter</div>
</body>
<body>
<div style="page-break-after: always;">Page1</div>
<div style="page-break-after: always;">Page2</div>
<div style="page-break-after: always;">Page3</div>
<div id="page4" style="page-break-after: always;">Page4, with reset page counter</div>
</body>
Codage en C# :
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "page-numbers",
test: true, // test documents are but watermarked
documentContent: System.IO.File.ReadAllText(@"page-numbers-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("page-numbers.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
class Example
{
static void Main(string [] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "page-numbers",
test: true, // test documents are but watermarked
documentContent: System.IO.File.ReadAllText(@"page-numbers-content.html"),
// documentUrl: "http://docraptor.com/examples/invoice.html", // or use a url
documentType: Doc.DocumentTypeEnum.Pdf
// javascript: false, // enables processing
);
byte [] create_response = docraptor.CreateDoc(doc);
File.WriteAllBytes("page-numbers.pdf", create_response);
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
Friend Class Example
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "page-numbers", test:= True, documentContent:= System.IO.File.ReadAllText("page-numbers-content.html"), documentType:= Doc.DocumentTypeEnum.Pdf)
Dim create_response() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("page-numbers.pdf", create_response)
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
End Class
DocRaptor est un convertisseur de documents basé sur une API qui convertit les fichiers HTML et les URL en PDF, ainsi que les fichiers XML en XLSX. Il prend en charge huit langages de programmation différents. Cependant, il ne propose que des licences mensuelles avec une limite de documents, à partir d'une licence gratuite avec une limite de cinq documents par mois, jusqu'à une formule "silver" qui inclut une limite de 40 000 documents et un prix de 1000 dollars par mois. DocRaptor est idéal pour les petites organisations et offre un forfait professionnel plus modeste avec une limite de 325 documents pour 29 $ lien pour plus de prix.
Note:
DocRaptor ne propose pas d'achat unique ni de licences basées sur des projets.
IronPDF est une bibliothèque qui fournit gratuitement une licence de développeur. IronPDF a également une structure de prix distincte : l'offre lite commence à $749 sans frais cachés. La redistribution des produits SaaS et OEM est également possible. Toutes les licences sont assorties d'une garantie de remboursement de 30 jours, d'un an d'assistance et de mises à jour du logiciel, d'une validité de développement/staging/production et d'une licence perpétuelle (achat unique). Pour voir l'ensemble de la structure des prix et de la licence d'IronPDF, allez à l'adresse suivante ici.
Note:
IronPDF offre la possibilité de connecter et de joindre deux ou plusieurs PDF ensemble. Il offre également la possibilité d'extraire des pages, de copier des pages, de supprimer des pages spécifiques et de générer des PDF en mode multithread, ce que ne propose pas son concurrent.
A partir d'un serveur distant, IronPDF ne génère pas de HTML au format PDF. En coulisses, il démarre une instance d'un véritable navigateur conforme à la norme (sans qu'il soit nécessaire d'installer un logiciel supplémentaire). Le HTML est rendu avec une précision totale - et dans un format vectoriel adapté à l'impression commerciale selon les normes les plus strictes. Le résultat est un PDF net et de haute qualité. Les informations relatives aux licences et aux prix sont facilement accessibles sur la page web.
DocRaptor transforme également du HTML dans n'importe quel format en PDF avec une précision maximale et un temps d'arrêt minimal, grâce au fait qu'il fonctionne sur de nombreux serveurs en nuage. DocRaptor est une API basée sur le web qui fournit un service de conversion PDF en ligne. L'API HTML to PDF de DocRaptor est facile à utiliser grâce aux bibliothèques client de l'API côté serveur. Ces bibliothèques peuvent être trouvées dans un certain nombre de langages de programmation côté serveur. La page web contient des informations sur les prix.
Dans l'article ci-dessus, nous avons comparé les deux outils et conclu que, pour la conversion de documents .NET ou C#, les développeurs préfèrent IronPDF à DocRaptor pour de nombreuses raisons. IronPDF offre plus de fonctionnalités que DocRaptor. DocRaptor propose de bons packages pour les petites organisations, mais il est assez cher et ne fournit pas de licence permanente à long terme. D'autre part, IronPDF offre plus de fonctionnalités et une licence à achat unique à un prix inférieur. IronPDF est préférable tant pour les petites organisations que pour les grandes infrastructures. DocRaptor peut s'avérer utile lorsqu'il s'agit de traiter des PDF sur différentes plates-formes côté serveur. De plus, les packages IronPDF fournissent une licence à vie, et il n'y a pas de coûts permanents, alors que DocRaptor a des coûts permanents.
9 produits de l'API .NET pour vos documents de bureau