Utilisez IronPDF avec le passage par référence. Voyez les résultats en action !
using IronPdf;
using System;
class Program
{
static void Main(string[] args)
{
License.LicenseKey = "";
// Create a PDF document
var pdf = new ChromePdfRenderer();
// HTML content to be converted to PDF
string htmlContent = "<h1>Hello, IronPDF!</h1>";
// Create a byte array to store the PDF content
byte[] pdfBytes;
// Convert HTML to PDF and pass the byte array by reference
ConvertHtmlToPdf(pdf, htmlContent, out pdfBytes);
// Save or process the PDF content
// For demonstration, let's print the length of the PDF content
Console.WriteLine("Length of PDF: " + pdfBytes.Length);
}
static void ConvertHtmlToPdf(ChromePdfRenderer pdfConverter, string htmlContent, out byte[] pdfBytes)
{
// Convert HTML to PDF and store the result in the byte array
var pdfDoc = pdfConverter.RenderHtmlAsPdf(htmlContent);
pdfBytes = pdfDoc.BinaryData;
}
}
Passage par référence en C# (Comment cela fonctionne pour les développeurs)
Regan Pun
août 13, 2024
Partager:
Introduction
Une gestion efficace de la mémoire et une manipulation des données sont des composants essentiels pour créer du code haute performance dans le monde de la programmation. Écrire du code efficace et sans erreur nécessite une compréhension de la manière dont les données sonttransmisentre les méthodes et les fonctions dans des langages comme le C#. Une idée cruciale pour cette procédure est le "passage par référence". Dans cet article, nous allons explorer la signification du passage par référence en C# et ses scénarios d'utilisation appropriés.
Comment utiliser le passage par référence en C
Définir une méthode avec des paramètres de type 'ref'.
Initialiser une variable.
Appelez la méthode avec le mot-clé Ref.
Modifier la variable à l'intérieur de la méthode.
Observer les changements dans la méthode principale.
Définir une autre méthode avec un paramètre out pour générer un PDF.
Initialiser et appeler la méthode Out.
Qu'est-ce qu'un passage par référence en C# ?
Utiliser une référence pour passer fait référence à la manière en C# d'envoyer des arguments à des fonctions ou des méthodes en donnant une référence à la variable initiale de la méthode appelée plutôt qu'une copie de sa valeur. Cela implique que toute modification apportée au paramètre à l'intérieur de la méthode aura également un impact sur la variable initiale à l'extérieur de la méthode.
Variables de type valeur en C#(comme int, float, bool, etc.)sont généralement fournis par valeur, un paramètre de référence qui signifie que la méthode reçoit une copie de la valeur de la variable. Néanmoins, vous pouvez demander au compilateur de passer des arguments par référence en utilisant le mot-clé ref.
Utilisation du mot-clé ref
En C#, des arguments peuvent être faits pour les paramètres de référence passés par référence en utilisant le mot-clé ref. Toute modification apportée à un paramètre fourni par référence à l'aide du mot-clé ref aura un impact sur la variable originale.
class Program
{
static void Main(string[] args)
{
int num = 10;
Console.WriteLine("Before: " + num); // Output: Before: 10
ModifyByRef(ref num);
Console.WriteLine("After: " + num); // Output: After: 20
}
static void ModifyByRef(ref int x)
{
x = x * 2;
}
}
class Program
{
static void Main(string[] args)
{
int num = 10;
Console.WriteLine("Before: " + num); // Output: Before: 10
ModifyByRef(ref num);
Console.WriteLine("After: " + num); // Output: After: 20
}
static void ModifyByRef(ref int x)
{
x = x * 2;
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText $csharpLabel
La méthode ModifyByRef dans l'exemple ci-dessus utilise le mot-clé ref pour prendre un paramètre entier, x, par référence. Toute modification apportée au paramètre ref x à l'intérieur de la méthode a un impact immédiat sur la variable num à l'extérieur de la méthode lorsque la méthode est appelée avec ref num.
Le mot-clé out
Le mot-clé out est utilisé pour passer des paramètres par référence à la méthode appelante, tout comme ref. Par conséquent, les méthodes sont capables de renvoyer de nombreuses valeurs.
class Program
{
static void Main(string[] args)
{
int result;
Calculate(10, 5, out result);
Console.WriteLine("Result: " + result); // Output: Result: 15
}
static void Calculate(int x, int y, out int result)
{
result = x + y;
}
}
class Program
{
static void Main(string[] args)
{
int result;
Calculate(10, 5, out result);
Console.WriteLine("Result: " + result); // Output: Result: 15
}
static void Calculate(int x, int y, out int result)
{
result = x + y;
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText $csharpLabel
Deux paramètres entiers, x et y, ainsi qu'un paramètre supplémentaire result indiqué par le mot-clé out, sont passés à la méthode Calculate dans cet exemple. Le résultat est attribué au paramètre résultat après que la procédure ait calculé la somme de x et y. Le résultat n'a pas besoin d'être initialisé avant d'être envoyé à la méthode car il est marqué comme out.
Quand utiliser le passage par référence
Écrire un code efficace et maintenable nécessite de savoir quand utiliser le passage par référence. Les situations suivantes nécessitent l'utilisation de plusieurs valeurs de passage par référence :
Modification de plusieurs variables
Passer les paramètres par référence peut être utile lorsqu'une méthode doit modifier plusieurs variables et que ces modifications doivent être reflétées en dehors de la méthode. Au lieu que la procédure renvoie plusieurs valeurs, les variables peuvent être envoyées par référence et modifiées directement dans la méthode.
static void ModifyMultipleByRef(ref int a, ref int b)
{
a *= 2;
b *= 3;
}
static void ModifyMultipleByRef(ref int a, ref int b)
{
a *= 2;
b *= 3;
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText $csharpLabel
Structures de Big Data
En évitant la duplication inutile de données, le passage de grandes structures de données—comme des tableaux ou des objets complexes—par le passage de paramètres par référence peut améliorer l'efficacité. Le passage par référence doit être utilisé avec prudence lorsque vous travaillez avec des structures de données volumineuses, car cela peut avoir des conséquences inattendues s'il n'est pas manipulé correctement.
Interopérabilité avec du Code Externe
Il peut être nécessaire d'envoyer des arguments par référence afin de respecter à la fois la définition de la méthode et les exigences du code externe lors de l'interaction avec des bibliothèques externes ou de l'intégration de code natif.
Qu'est-ce qu'IronPDF ?
La bibliothèque C#IronPDF pour les applications .NETpermet aux programmeurs de créer, modifier et rendre des documents PDF dans des applications .NET. Sa vaste gamme de fonctionnalités rend le travail avec les fichiers PDF simple. Vous pouvez créer des documents PDF à partir de HTML, de photos et d'autres formats; annoter des PDFs avec du texte, des images et d'autres données; et diviser, fusionner et modifier des documents PDF déjà existants.
La principale fonctionnalité de IronPDF est sa capacité à convertirHTML vers PDF, en veillant à ce que les mises en page et les styles soient préservés. Cette fonctionnalité est excellente pour générer des PDFs à partir de contenu web tel que des rapports, des factures et de la documentation. Il convertit des fichiers HTML, des URLs et des chaînes HTML en fichiers PDF.
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
var renderer = new ChromePdfRenderer();
// 1. Convert HTML String to PDF
var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");
// 2. Convert HTML File to PDF
var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");
// 3. Convert URL to PDF
var url = "http://ironpdf.com"; // Specify the URL
var pdfFromUrl = renderer.RenderUrlAsPdf(url);
pdfFromUrl.SaveAs("URLToPDF.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End Class
$vbLabelText $csharpLabel
Caractéristiques d'IronPDF
Annotation de textes et d'images
IronPDF vous permet d'ajouter du texte, des images et des annotations à des documents PDF par programmation. Vous pouvez annoter des fichiers PDF avec des signatures, des tampons et des remarques grâce à cette fonctionnalité.
Sécurité PDF
IronPDF vous permet de spécifier différentes autorisations, y compris l'impression, la copie de contenu et la modification du document, et il peut crypter les documents PDF avec des mots de passe. Cela vous aide à contrôler l'accès aux fichiers PDF et à protéger les données sensibles.
Remplir des formulaires PDF interactifs
IronPDF vous permet de remplir des formulaires PDF interactifs par programmation. Cette fonctionnalité est utile pour créer des documents personnalisés à partir des saisies utilisateur ou pour automatiser les soumissions de formulaires.
Compression et optimisation des PDF
Pour minimiser la taille des fichiers sans sacrifier la qualité, IronPDF propose des solutions à la fois pour la compression et l'optimisation des fichiers PDF. Cela réduit la quantité de stockage nécessaire pour les documents PDF tout en améliorant les performances.
Compatibilité multiplateforme
IronPDF est conçu pour fonctionner parfaitement avec les applications .NET destinées à Windows, Linux et macOS, entre autres plateformes. Les frameworks .NET populaires comme ASP.NET, .NET Core et Xamarin sont intégrés avec lui.
Créer un nouveau projet Visual Studio
Il est facile de créer un projet de console avec Visual Studio. Pour créer une application console, suivez les étapes suivantes dans Visual Studio :
Sélectionnez Fichier, puis Nouveau, et enfin Projet.
Sur le côté gauche de la boîte "Créer un nouveau projet", sélectionnez votre langage de programmation préféré(C#, par exemple).
La "Console App" ou "Console App(.NET Core)"Un modèle peut être choisi parmi la liste suivante de types de modèles de projet de référence."
Donnez un nom à votre projet dans le champ "Nom".
Sélectionnez l'emplacement de stockage où vous souhaitez enregistrer le projet.
Appuyez sur "Créer" pour initier le projet d'application Console.
Installation d'IronPDF
Sous Outils dans les Outils de Visual Studio, vous pouvez trouver l'interface de ligne de commande visuelle. Sélectionnez le Gestionnaire de Packages pour NuGet. Dans l'onglet du terminal de gestion des paquets, vous devez taper la commande suivante.
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
$vbLabelText $csharpLabel
Une autre alternative consiste à utiliser le gestionnaire de paquets. L'option NuGet Package Manager permet d'installer le paquetage directement dans la solution. Utilisez la barre de recherche sur le site NuGet pour localiser des packages. La capture d'écran suivante illustre la facilité avec laquelle il est possible de rechercher "IronPDF" dans le gestionnaire de packages :
La liste des résultats de recherche pertinents peut être vue dans l'image ci-dessus. Pour permettre l'installation du logiciel sur votre machine, veuillez ajuster ces paramètres.
Une fois le package téléchargé et installé, il peut maintenant être utilisé dans le projet en cours.
Utilisation du Passage par Référence avec IronPDF
Voici une illustration de l'utilisation de la fonctionnalité de passage par référence d'IronPDF.
using IronPdf;
using System;
class Program
{
static void Main(string[] args)
{
// Create a PDF document
var pdf = new IronPdf.HtmlToPdf();
// HTML content to be converted to PDF
string htmlContent = "<h1>Hello, IronPDF!</h1>";
// Create a byte array to store the PDF content
byte[] pdfBytes;
// Convert HTML to PDF and pass the byte array by reference
ConvertHtmlToPdf(pdf, htmlContent, out pdfBytes);
// Save or process the PDF content
// For demonstration, let's print the length of the PDF content
Console.WriteLine("Length of PDF: " + pdfBytes.Length);
}
static void ConvertHtmlToPdf(IronPdf.HtmlToPdf pdfConverter, string htmlContent, out byte[] pdfBytes)
{
// Convert HTML to PDF and store the result in the byte array
var pdfDoc = pdfConverter.RenderHtmlAsPdf(htmlContent);
pdfBytes = pdfDoc.BinaryData;
}
}
using IronPdf;
using System;
class Program
{
static void Main(string[] args)
{
// Create a PDF document
var pdf = new IronPdf.HtmlToPdf();
// HTML content to be converted to PDF
string htmlContent = "<h1>Hello, IronPDF!</h1>";
// Create a byte array to store the PDF content
byte[] pdfBytes;
// Convert HTML to PDF and pass the byte array by reference
ConvertHtmlToPdf(pdf, htmlContent, out pdfBytes);
// Save or process the PDF content
// For demonstration, let's print the length of the PDF content
Console.WriteLine("Length of PDF: " + pdfBytes.Length);
}
static void ConvertHtmlToPdf(IronPdf.HtmlToPdf pdfConverter, string htmlContent, out byte[] pdfBytes)
{
// Convert HTML to PDF and store the result in the byte array
var pdfDoc = pdfConverter.RenderHtmlAsPdf(htmlContent);
pdfBytes = pdfDoc.BinaryData;
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText $csharpLabel
La fonction ConvertHtmlToPdf dans cet exemple prend trois paramètres : le contenu HTML, un tableau d'octets appelé pdfBytes, et un objet IronPDF HtmlToPdf. Le mot-clé out indique que le paramètre pdfBytes est fourni par référence et sera modifié dans la méthode.
Le contenu HTML est rendu en tant que document PDF à l'aide de IronPDF dans la fonction ConvertHtmlToPdf, et les données binaires résultantes sont stockées dans le tableau pdfBytes.
Nous utilisonsIronPDF Conversion de HTML en PDFà nouveau dans la fonction Main, en passant le tableau pdfBytes par référence. Après l'appel de la méthode, le contenu PDF d'IronPDF est stocké à l'emplacement mémoire du tableau pdfBytes.
Cela vous montre comment créer et travailler avec des documents PDF de manière efficace en utilisant IronPDF et le passage par référence en C#.
Conclusion
En résumé, l'utilisation d'IronPDF avec le passage par référence en C# améliore grandement les capacités de création et de modification de documents PDF dans les programmes .NET. L'utilisation efficace des mots-clés ref et out permet aux développeurs de transmettre des arguments par référence avec aisance, rendant possible la modification des variables et du contenu au sein des méthodes rapidement et efficacement. La vaste gamme de fonctionnalités d'IronPDF, qui incluent la capacité de convertir du HTML en PDF, de générer des PDF à partir d'images et d'effectuer des tâches de modification de PDF étendues, permet aux développeurs de créer facilement des documents PDF dynamiques et interactifs.
IronPDF offre les outils et les API nécessaires pour accélérer les processus de traitement de documents, y compris la division, la fusion, l'annotation et l'optimisation des fichiers PDF. De plus, l'interopérabilité multiplateforme du PDF garantit que les applications C# peuvent intégrer les fonctionnalités PDF avec facilité dans une variété de contextes. Essentiellement, les développeurs peuvent créer de nouvelles voies pour créer, modifier et afficher des documents PDF dans leurs applications en fusionnant la puissance de la transmission par référence de C# avec l'ensemble riche de fonctionnalités d'IronPDF.
Enfin, il est possible de travailler efficacement avec Excel, de réaliser des PDF, d'effectuer une reconnaissance optique des caractères et d'utiliser des codes-barres. Le prix de chaque bibliothèque commence à $749. Les développeurs peuvent choisir le meilleur modèle en toute confiance si les options de licence sont claires et adaptées aux besoins du projet. Avec ces avantages, les développeurs peuvent surmonter une variété de défis avec efficacité et transparence.
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT NServiceBus C# (Comment ça marche pour les développeurs)
SUIVANT > EasyNetQ .NET (Comment ça marche pour les développeurs)
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier