Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
La création et la gestion de fichiers PDF est une exigence courante dans le développement de logiciels. Les développeurs ont souvent besoin de bibliothèques, disponibles sous forme de paquets NuGet, qui permettent de générer, d'éditer et de manipuler des PDF sans effort. IronPDF etPDFSharpCore sont deux bibliothèques importantes de l'écosystème du langage .NET qui remplissent cette fonction. Cet article, destiné aux utilisateurs de Visual Studio, se penche sur les deux, en soulignant leurs caractéristiques, leurs différences et la manière dont ils peuvent être utilisés dans les projets .NET.
IronPDF est une bibliothèque .NET complète conçue pour que les développeurs puissent créer, éditer et convertir des documents PDF sans effort. Il offre un large éventail de fonctionnalités pour la création, l'édition et la conversion de ces documents. IronPDF prend en charge .NET Core et les frameworks, ce qui le rend polyvalent pour diverses applications, notamment pour le web et les ordinateurs de bureau.
la bibliothèque PDFSharpCore** est un portage partiel de la bibliothèque PDFsharp originale. Il cible .NET Core en plus de la fondation MigraDoc, en se concentrant sur la création et le traitement de documents PDF sans dépendre des bibliothèques Windows. Il convient donc aux projets multiplateformes, fonctionnant sous Linux, MacOS et Windows.
Pour commencer à utiliser IronPDF dans votre projet, vous pouvez facilement l'installer via le gestionnaire de paquets NuGet. Suivez les étapes suivantes pour installer IronPDF :
Ouvrez votre projet dans Visual Studio.
Naviguez vers Outils > NuGet Package Manager > Gestion des paquets NuGet pour la solution.
Recherchez IronPDF dans le gestionnaire NuGet.
Vous pouvez également utiliser la console du gestionnaire de paquets pour installer IronPDF à l'aide de la commande suivante :
Install-Package IronPdf
Pour installer PDFSharpCore à l'aide de NuGet, suivez ces instructions :
Assurez-vous que votre projet Visual Studio est ouvert.
Allez dans Outils > NuGet Package Manager > Gestion des paquets NuGet pour la solution.
Dans le gestionnaire de paquets NuGet, recherchez PDFSharpCore.
Pour les développeurs préférant la console du gestionnaire de paquets, PDFSharpCore peut être installé avec cette commande :
Install-Package PdfSharpCore
IronPDF simplifie le processus de génération de nouveaux documents PDF pour les développeurs. Il offre un moyen intuitif de créer des PDF directement à partir de contenu HTML ou de pages web, rationalisant ainsi la conversion du contenu web en fichiers au format de document portable.
IronPDF permet à lcréation de documents PDF à partir de chaînes HTML en utilisant sa classe ChromePdfRenderer. Cette fonction est particulièrement utile lorsque vous devez générer des PDF de manière dynamique à partir de modèles HTML ou de contenu généré dans votre application. Voici comment convertir une chaîne HTML en document PDF à l'aide d'IronPDF :
using IronPdf;
class Program
{
static void Main(string [] args)
{
License.LicenseKey = "License-Key";
// Create a new instance of IronPdf.ChromePdfRenderer
var Renderer = new ChromePdfRenderer();
// HTML content with meaningful content
string htmlContent = @"
<h1>Report on Sales Performance</h1>
<p>This report analyzes the sales performance for the first quarter of 2024.</p>
<table>
<thead>
<tr>
<th>Month</th>
<th>Sales Revenue</th>
</tr>
</thead>
<tbody>
<tr>
<td>January</td>
<td>$50,000</td>
</tr>
<tr>
<td>February</td>
<td>$55,000</td>
</tr>
<tr>
<td>March</td>
<td>$60,000</td>
</tr>
</tbody>
</table>
<p>This report highlights the positive growth in sales revenue over the quarter.</p>";
// Render HTML content as PDF
var PDF = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF as example.pdf
PDF.SaveAs("example.pdf");
Console.WriteLine("PDF saved successfully.");
}
}
using IronPdf;
class Program
{
static void Main(string [] args)
{
License.LicenseKey = "License-Key";
// Create a new instance of IronPdf.ChromePdfRenderer
var Renderer = new ChromePdfRenderer();
// HTML content with meaningful content
string htmlContent = @"
<h1>Report on Sales Performance</h1>
<p>This report analyzes the sales performance for the first quarter of 2024.</p>
<table>
<thead>
<tr>
<th>Month</th>
<th>Sales Revenue</th>
</tr>
</thead>
<tbody>
<tr>
<td>January</td>
<td>$50,000</td>
</tr>
<tr>
<td>February</td>
<td>$55,000</td>
</tr>
<tr>
<td>March</td>
<td>$60,000</td>
</tr>
</tbody>
</table>
<p>This report highlights the positive growth in sales revenue over the quarter.</p>";
// Render HTML content as PDF
var PDF = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF as example.pdf
PDF.SaveAs("example.pdf");
Console.WriteLine("PDF saved successfully.");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
License.LicenseKey = "License-Key"
' Create a new instance of IronPdf.ChromePdfRenderer
Dim Renderer = New ChromePdfRenderer()
' HTML content with meaningful content
Dim htmlContent As String = "
<h1>Report on Sales Performance</h1>
<p>This report analyzes the sales performance for the first quarter of 2024.</p>
<table>
<thead>
<tr>
<th>Month</th>
<th>Sales Revenue</th>
</tr>
</thead>
<tbody>
<tr>
<td>January</td>
<td>$50,000</td>
</tr>
<tr>
<td>February</td>
<td>$55,000</td>
</tr>
<tr>
<td>March</td>
<td>$60,000</td>
</tr>
</tbody>
</table>
<p>This report highlights the positive growth in sales revenue over the quarter.</p>"
' Render HTML content as PDF
Dim PDF = Renderer.RenderHtmlAsPdf(htmlContent)
' Save the PDF as example.pdf
PDF.SaveAs("example.pdf")
Console.WriteLine("PDF saved successfully.")
End Sub
End Class
IronPDF permet également de convertir des fichiers HTML entiers en documents PDF. Cette fonction est particulièrement utile pour convertir au format PDF des pages HTML statiques ou des modèles stockés sous forme de fichiers. Voici un exemple de code permettant de convertir un fichier HTML en document PDF :
using IronPdf;
class Program
{
void Main(string [] args)
{
License.LicenseKey = "License-Key";
// Create a new instance of IronPdf.ChromePdfRenderer
var Renderer = new ChromePdfRenderer();
// Render HTML content as PDF
var PDF = Renderer.RenderHtmlFileAsPdf(@"C:\Users\Tayyab Ali\Desktop\example.html");
PDF.SaveAs("example.pdf");
Console.WriteLine("PDF saved successfully.");
}
}
using IronPdf;
class Program
{
void Main(string [] args)
{
License.LicenseKey = "License-Key";
// Create a new instance of IronPdf.ChromePdfRenderer
var Renderer = new ChromePdfRenderer();
// Render HTML content as PDF
var PDF = Renderer.RenderHtmlFileAsPdf(@"C:\Users\Tayyab Ali\Desktop\example.html");
PDF.SaveAs("example.pdf");
Console.WriteLine("PDF saved successfully.");
}
}
Imports IronPdf
Friend Class Program
Private Sub Main(ByVal args() As String)
License.LicenseKey = "License-Key"
' Create a new instance of IronPdf.ChromePdfRenderer
Dim Renderer = New ChromePdfRenderer()
' Render HTML content as PDF
Dim PDF = Renderer.RenderHtmlFileAsPdf("C:\Users\Tayyab Ali\Desktop\example.html")
PDF.SaveAs("example.pdf")
Console.WriteLine("PDF saved successfully.")
End Sub
End Class
La conversion de pages web en PDF est une autre fonction puissante d'IronPDF. Cette capacité est inestimable pour capturer du contenu web en direct, y compris le style et les médias, directement dans un document PDF. Pour convertir une URL web en document PDF, vous pouvez utiliser le code suivant :
using IronPdf;
class Program
{
static void Main(string [] args)
{
License.LicenseKey = "License-Key";
// Create a new instance of IronPdf.ChromePdfRenderer
var Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;
// Render HTML content as PDF
var PDF = Renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/download/dotnet-framework");
// Save the PDF as example.pdf
PDF.SaveAs("webpage.pdf");
Console.WriteLine("PDF saved successfully.");
}
}
using IronPdf;
class Program
{
static void Main(string [] args)
{
License.LicenseKey = "License-Key";
// Create a new instance of IronPdf.ChromePdfRenderer
var Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2;
// Render HTML content as PDF
var PDF = Renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/download/dotnet-framework");
// Save the PDF as example.pdf
PDF.SaveAs("webpage.pdf");
Console.WriteLine("PDF saved successfully.");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
License.LicenseKey = "License-Key"
' Create a new instance of IronPdf.ChromePdfRenderer
Dim Renderer = New ChromePdfRenderer()
Renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A2
' Render HTML content as PDF
Dim PDF = Renderer.RenderUrlAsPdf("https://dotnet.microsoft.com/en-us/download/dotnet-framework")
' Save the PDF as example.pdf
PDF.SaveAs("webpage.pdf")
Console.WriteLine("PDF saved successfully.")
End Sub
End Class
PDFSharpCore, étant un portage partiel de PDFsharp pour .NET Core, offre un contrôle détaillé sur le processus de création de documents PDF. Il ne convertit pas directement HTML en PDF, mais offre des fonctionnalités étendues pour générer un nouveau document à partir de zéro ou modifier des fichiers PDF existants. Voici un exemple de base utilisant PDFSharpCore :
var doc = new PdfDocument();
var page = doc.AddPage();
var graphics = XGraphics.FromPdfPage(page);
var font = new XFont("Verdana", 20, XFontStyle.Bold);
graphics.DrawString("Hello, World!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
doc.Save("newdocument.pdf");
var doc = new PdfDocument();
var page = doc.AddPage();
var graphics = XGraphics.FromPdfPage(page);
var font = new XFont("Verdana", 20, XFontStyle.Bold);
graphics.DrawString("Hello, World!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
doc.Save("newdocument.pdf");
Dim doc = New PdfDocument()
Dim page = doc.AddPage()
Dim graphics = XGraphics.FromPdfPage(page)
Dim font = New XFont("Verdana", 20, XFontStyle.Bold)
graphics.DrawString("Hello, World!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)
doc.Save("newdocument.pdf")
IronPDF se distingue lorsqu'il s'agit de traiter des tâches PDF avancées. Il offre des fonctionnalités telles que
Conformité au format PDF/A : La capacité d'IronPDF à générer desDocuments conformes à la norme PDF/A est essentiel pour les entreprises qui ont besoin d'une conservation numérique à long terme. Cette fonction garantit que les fichiers PDF sont produits dans le respect de normes d'archivage strictes, ce qui permet de préserver l'intégrité des documents au fil du temps.
using IronPdf;
// Open a PDF
PdfDocument pdf = PdfDocument.FromFile("example.pdf");
// Save the PDF/A-3b
pdf.SaveAsPdfA("PDFA-Document.pdf", PdfAVersions.PdfA3);
using IronPdf;
// Open a PDF
PdfDocument pdf = PdfDocument.FromFile("example.pdf");
// Save the PDF/A-3b
pdf.SaveAsPdfA("PDFA-Document.pdf", PdfAVersions.PdfA3);
Imports IronPdf
' Open a PDF
Private pdf As PdfDocument = PdfDocument.FromFile("example.pdf")
' Save the PDF/A-3b
pdf.SaveAsPdfA("PDFA-Document.pdf", PdfAVersions.PdfA3)
Watermarking et sécurité : IronPDF fournit des outils robustes pourajout de filigranes aux documents PDF, ce qui est essentiel pour la protection de l'image de marque et des droits d'auteur. En outre, il prend en charge des fonctions de sécurité complètes, notamment la possibilité de crypter les fichiers PDF, de définir des autorisations pour les utilisateurs et d'ajouter des signatures numériques. Cela permet de garantir la sécurité des informations sensibles et l'intégrité des documents.
using IronPdf;
class Program
{
static void Main(string [] args)
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello, IronPdf!</h1></body></html>");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE WATERMARK</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SecuritySettings.OwnerPassword = "top-secret"; // password to edit the pdf
pdf.SecuritySettings.UserPassword = "sharable"; // password to open the pdf
pdf.SaveAs("CombinedPDF.pdf");
Console.WriteLine("PDF generated successfully!");
}
}
using IronPdf;
class Program
{
static void Main(string [] args)
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello, IronPdf!</h1></body></html>");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE WATERMARK</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SecuritySettings.OwnerPassword = "top-secret"; // password to edit the pdf
pdf.SecuritySettings.UserPassword = "sharable"; // password to open the pdf
pdf.SaveAs("CombinedPDF.pdf");
Console.WriteLine("PDF generated successfully!");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<html><body><h1>Hello, IronPdf!</h1></body></html>")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE WATERMARK</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SecuritySettings.OwnerPassword = "top-secret" ' password to edit the pdf
pdf.SecuritySettings.UserPassword = "sharable" ' password to open the pdf
pdf.SaveAs("CombinedPDF.pdf")
Console.WriteLine("PDF generated successfully!")
End Sub
End Class
Édition et fusion de PDF : IronPDF va au-delà de la création, en offrant des fonctionnalités permettant de modifier le contenu de fichiers PDF existants. Il peut s'agir de l'édition de textes, de la manipulation d'images et d'ajustements de la mise en page. En outre, sa capacité de fusion permet defusion de plusieurs documents PDF en un seul fichier, ce qui simplifie la gestion et la distribution des documents.
using IronPdf;
class Program
{
static void Main(string [] args)
{
const string html_a = @"<p> [PDF_A] </p>
<p> [PDF_A] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_A] 2nd Page</p>";
const string html_b = @"<p> [PDF_B] </p>
<p> [PDF_B] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_B] 2nd Page</p>";
const string html_c =
@"<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 ChromePdfRenderer();
var pdfdoc_a = renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = renderer.RenderHtmlAsPdf(html_b);
var merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b);
var pdfdoc_c = renderer.RenderHtmlAsPdf(html_c);
merged.AppendPdf(pdfdoc_c);
merged.SaveAs("CombinedDocument.pdf");
Console.WriteLine("PDF generated successfully!");
}
}
using IronPdf;
class Program
{
static void Main(string [] args)
{
const string html_a = @"<p> [PDF_A] </p>
<p> [PDF_A] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_A] 2nd Page</p>";
const string html_b = @"<p> [PDF_B] </p>
<p> [PDF_B] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_B] 2nd Page</p>";
const string html_c =
@"<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 ChromePdfRenderer();
var pdfdoc_a = renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = renderer.RenderHtmlAsPdf(html_b);
var merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b);
var pdfdoc_c = renderer.RenderHtmlAsPdf(html_c);
merged.AppendPdf(pdfdoc_c);
merged.SaveAs("CombinedDocument.pdf");
Console.WriteLine("PDF generated successfully!");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Const html_a As String = "<p> [PDF_A] </p>
<p> [PDF_A] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_A] 2nd Page</p>"
Const html_b As String = "<p> [PDF_B] </p>
<p> [PDF_B] 1st Page </p>
<div style='page-break-after: always;'></div>
<p> [PDF_B] 2nd Page</p>"
Const html_c As String = "<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>"
Dim renderer = New ChromePdfRenderer()
Dim pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
Dim pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
Dim merged = PdfDocument.Merge(pdfdoc_a, pdfdoc_b)
Dim pdfdoc_c = renderer.RenderHtmlAsPdf(html_c)
merged.AppendPdf(pdfdoc_c)
merged.SaveAs("CombinedDocument.pdf")
Console.WriteLine("PDF generated successfully!")
End Sub
End Class
PDFSharpCore, bien qu'il soit plus axé sur les éléments de base, offre néanmoins des possibilités pour les tâches complexes, telles que :
Modification de documents : PDFSharpCore facilite la modification des documents PDF existants. Il s'agit de tâches telles que l'ajout ou la suppression de pages, la mise à jour de textes et l'insertion d'images.
using PdfSharpCore.Pdf;
using PdfSharpCore.Pdf.IO;
// Open an existing PDF document
var inputDocument = PdfReader.Open("input.pdf", PdfDocumentOpenMode.Modify);
// Modify the first page
var page = inputDocument.Pages [0];
var graphics = XGraphics.FromPdfPage(page);
var font = new XFont("OpenSans", 20, XFontStyle.Bold);
graphics.DrawString("Added Text", font, XBrushes.Black, new XPoint(50, 100));
// Save the modified document
inputDocument.Save("modified.pdf");
using PdfSharpCore.Pdf;
using PdfSharpCore.Pdf.IO;
// Open an existing PDF document
var inputDocument = PdfReader.Open("input.pdf", PdfDocumentOpenMode.Modify);
// Modify the first page
var page = inputDocument.Pages [0];
var graphics = XGraphics.FromPdfPage(page);
var font = new XFont("OpenSans", 20, XFontStyle.Bold);
graphics.DrawString("Added Text", font, XBrushes.Black, new XPoint(50, 100));
// Save the modified document
inputDocument.Save("modified.pdf");
Imports PdfSharpCore.Pdf
Imports PdfSharpCore.Pdf.IO
' Open an existing PDF document
Private inputDocument = PdfReader.Open("input.pdf", PdfDocumentOpenMode.Modify)
' Modify the first page
Private page = inputDocument.Pages (0)
Private graphics = XGraphics.FromPdfPage(page)
Private font = New XFont("OpenSans", 20, XFontStyle.Bold)
graphics.DrawString("Added Text", font, XBrushes.Black, New XPoint(50, 100))
' Save the modified document
inputDocument.Save("modified.pdf")
Graphique et dessin : La bibliothèque utilise les mêmes routines de dessin que celles disponibles dans PDFSharp, ce qui permet aux développeurs d'incorporer des éléments graphiques complexes dans les documents PDF. Il s'agit notamment de dessiner des formes, d'utiliser différentes polices de caractères et d'appliquer des couleurs.
using PdfSharpCore.Drawing;
using PdfSharpCore.Pdf;
// Create a new PDF document
var document = new PdfDocument();
var page = document.AddPage();
var graphics = XGraphics.FromPdfPage(page);
// Draw a rectangle
graphics.DrawRectangle(XPens.Black, XBrushes.SkyBlue, 40, 100, 250, 120);
// Draw text
var font = new XFont("Verdana", 20, XFontStyle.BoldItalic);
graphics.DrawString("Hello, PDFSharpCore!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
// Save the document
document.Save("drawing.pdf");
using PdfSharpCore.Drawing;
using PdfSharpCore.Pdf;
// Create a new PDF document
var document = new PdfDocument();
var page = document.AddPage();
var graphics = XGraphics.FromPdfPage(page);
// Draw a rectangle
graphics.DrawRectangle(XPens.Black, XBrushes.SkyBlue, 40, 100, 250, 120);
// Draw text
var font = new XFont("Verdana", 20, XFontStyle.BoldItalic);
graphics.DrawString("Hello, PDFSharpCore!", font, XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);
// Save the document
document.Save("drawing.pdf");
Imports PdfSharpCore.Drawing
Imports PdfSharpCore.Pdf
' Create a new PDF document
Private document = New PdfDocument()
Private page = document.AddPage()
Private graphics = XGraphics.FromPdfPage(page)
' Draw a rectangle
graphics.DrawRectangle(XPens.Black, XBrushes.SkyBlue, 40, 100, 250, 120)
' Draw text
Dim font = New XFont("Verdana", 20, XFontStyle.BoldItalic)
graphics.DrawString("Hello, PDFSharpCore!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)
' Save the document
document.Save("drawing.pdf")
Génération de PDF à partir de données : PDFSharpCore excelle dans la création dynamique de documents PDF à partir des données de l'application. Ceci est particulièrement utile pour la création de rapports, de factures ou de tout autre document nécessitant l'inclusion de données dynamiques.
using PdfSharpCore.Drawing;
using PdfSharpCore.Pdf;
// Create a new PDF document
var document = new PdfDocument();
var page = document.AddPage();
var graphics = XGraphics.FromPdfPage(page);
var font = new XFont("Arial", 12);
// Simulate generation
var data = new List<string> { "Data 1", "Data 2", "Data 3" };
// Generate PDF from data
var yPos = 20;
foreach (var item in data)
{
graphics.DrawString(item, font, XBrushes.Black, new XRect(0, yPos, page.Width, page.Height), XStringFormats.TopLeft);
yPos += 20;
}
// Save the document
document.Save("data-generated.pdf");
using PdfSharpCore.Drawing;
using PdfSharpCore.Pdf;
// Create a new PDF document
var document = new PdfDocument();
var page = document.AddPage();
var graphics = XGraphics.FromPdfPage(page);
var font = new XFont("Arial", 12);
// Simulate generation
var data = new List<string> { "Data 1", "Data 2", "Data 3" };
// Generate PDF from data
var yPos = 20;
foreach (var item in data)
{
graphics.DrawString(item, font, XBrushes.Black, new XRect(0, yPos, page.Width, page.Height), XStringFormats.TopLeft);
yPos += 20;
}
// Save the document
document.Save("data-generated.pdf");
Imports PdfSharpCore.Drawing
Imports PdfSharpCore.Pdf
' Create a new PDF document
Private document = New PdfDocument()
Private page = document.AddPage()
Private graphics = XGraphics.FromPdfPage(page)
Private font = New XFont("Arial", 12)
' Simulate generation
Private data = New List(Of String) From {"Data 1", "Data 2", "Data 3"}
' Generate PDF from data
Private yPos = 20
For Each item In data
graphics.DrawString(item, font, XBrushes.Black, New XRect(0, yPos, page.Width, page.Height), XStringFormats.TopLeft)
yPos += 20
Next item
' Save the document
document.Save("data-generated.pdf")
Lorsqu'il s'agit d'intégrer des fonctionnalités PDF dans vos projets .NET, le choix entre IronPDF et PDFSharpCore mérite d'être étudié attentivement, avec un avantage particulier pour IronPDF pour plusieurs raisons convaincantes. IronPDF se distingue par une gamme plus étendue de fonctionnalités et de capacités, en particulier pour les développeurs qui accordent la priorité aux applications web et aux besoins de traitement complet des PDF.
IronPDF excelle par sa facilité d'utilisation et sa flexibilité, permettant aux développeurs de convertir sans effort du HTML en PDF, une fonctionnalité cruciale pour les applications web modernes dont le contenu est fréquemment généré et présenté au format HTML. En outre, IronPDF prend en charge des fonctions PDF avancées telles que l'édition, la fusion, la sécurité et la conformité aux normes PDF/A, offrant ainsi un ensemble d'outils robustes pour la gestion d'opérations PDF complexes.
IronPDF se distingue non seulement par sa suite complète de fonctionnalités, mais aussi par son offre d'uneessai gratuitpermettant aux développeurs d'explorer ses capacités sans investissement initial. Pour ceux qui sont prêts à intégrer IronPDF dans leur processus de développement, la licence commence à $749.
9 produits de l'API .NET pour vos documents de bureau