using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Comment utiliser ChatGPT avec IronPDF pour les développeurs C#
Jordi Bardia
juin 20, 2023
Mise à jour mars 17, 2024
Partager:
1.0 Qu'est-ce que ChatGPT ?
ChatGPT est une intelligence artificielle(AI) créé par OpenAI. Le terme "ChatGPT" combine les mots "Chat", qui fait référence à la fonction de chatbot du système, et "GPT", qui signifie Generative Pre-trained Transformer (transformateur génératif pré-entraîné) et qui est une sorte de grand modèle de langage(LLM). Les modèles GPT fondamentaux de l'OpenAI, à savoir GPT-3.5 et GPT-4, servent de base à ChatGPT, qui a été affiné(une méthode d'apprentissage par transfert) pour les applications conversationnelles en utilisant une combinaison de techniques d'apprentissage supervisé et de renforcement, ce qui inclut l'apprentissage automatique, le traitement du langage naturel et l'intelligence artificielle. ChatGPT peut comprendre et générer des textes de type humain.
Cet article montre comment développer une application MAUI qui utilise l'API OpenAI ChatGPT pour prendre des messages, proposer des résultats basés sur les requêtes de l'utilisateur, puis exporter ces résultats sous forme de fichier PDF pour une utilisation ultérieure à l'aide d'IronPDF.
1.1 Création d'un compte OpenAI
Pour créer un compte OpenAI, procédez comme suit :
Visitez le site officiel de l'OpenAI.
Sur la page d'accueil du site web, localisez et cliquez sur le bouton Sign-Up. Vous accéderez au formulaire de création de compte.
Remplir les champs essentiels du formulaire d'inscription.
Cliquez sur le lien de vérification envoyé à votre compte e-mail enregistré pour confirmer votre adresse e-mail.
Si votre inscription est réussie, vous devriez pouvoir accéder à votre compte OpenAI en entrant les informations de connexion que vous avez fournies lors de votre inscription.
1.2 Obtenir une clé API OpenAI
Pour accéder à l'OpenAI, rendez-vous sur le site web et connectez-vous à l'aide de vos informations de compte.
**Accéder au site web de l'OpenAI
Naviguez jusqu'à la zone API de la plateforme OpenAI. Ensuite, Paramètres du compte > Afficher la clé API, où vous trouverez peut-être ceci.
Vous pouvez maintenant créer une nouvelle clé API secrète.
Créer des clés API
2.0 Démarrage de l'application .NET MAUI
Vous devez disposer de Visual Studio 2022 et du Framework .NET 7 pour créer l'application .NET MAUI en C#. Ensuite, suivez les étapes suivantes pour créer et écrire une application MAUI .NET.
2.1 Ouvrir Visual Studio
Ouvrez Visual Studio, puis sélectionnez "Créer un nouveau projet" dans le menu et entrez ".NET MAUI" dans le champ de recherche.
2.2 Choisir l'application .NET MAUI
Dans Visual Studio, choisissez le modèle d'application .NET MAUI dans la liste des résultats de la recherche. Après l'avoir choisi, donnez-lui un nom décent et choisissez l'emplacement du projet. Cliquez sur "Suivant" une fois la configuration terminée.
Créer une nouvelle application MAUI .NET dans Visual Studio
2.3 Sélectionner le cadre
Choisir le cadre nécessaire ; néanmoins, il est conseillé, par exemple, de choisir le Framework .NET le plus récent. Appuyez sur le bouton Créer dans Visual Studio après avoir choisi la version du framework.
Configurer le nouveau projet
Dans Visual Studio 2022, un nouveau projet .NET MAUI sera créé. nET MAUI, par défaut, développe une application de comptoir simple.
Sélection du Framework .NET
En modifiant l'application .NET MAUI, il est possible d'intégrer l'OpenAI ChatGPT et d'exporter le résultat dans des fichiers PDF à l'aide de la bibliothèque IronPDF for .NET PDF sur cette variante de plates-formes.
2.4 Installer le paquet OpenAI
Entrez la commande suivante dans la console du gestionnaire de paquets NuGet.
Install-Package OpenAI
Saisissez la ligne de code ci-dessus dans la console du gestionnaire de paquets, qui vous aidera à installer le paquet OpenAI.
Install-Package IronPdf
Le code ci-dessus permet d'installer IronPDF dans le code MAUI.
3.0 Qu'est-ce qu'IronPDF ?
Les développeurs peuvent créer, lire et modifier rapidement des documents PDF grâce à IronPDF, un SDK robuste pour le traitement des PDF. Le moteur Chrome est utilisé par la bibliothèque IronPDF pour convertir HTML en PDF. Parmi les plusieurs composants web que la bibliothèque prend en charge, on trouve MAUI, Xamarin, Blazor, Unity, les apps HoloLens, Windows Forms, HTML, ASPX, Razor HTML, .NET Core, ASP.NET et WPF. La programmation Microsoft.NET et .NET Core peut être utilisée à la fois dans les applications Windows traditionnelles et dans les applications web ASP.NET.
En utilisant HTML5, JavaScript, CSS et des images, IronPDF vous permet de créer des PDF attrayants qui disposent d'un titre et d'un pied de page. La bibliothèque API comprend un convertisseur HTML-PDF robuste qui peut traiter les PDF, ainsi qu'un outil et un moteur de conversion PDF autonome, indépendant de toute source extérieure.
Les utilisateurs peuventgénérer des PDF avec IronPDF la traduction doit être réalisée à partir d'une variété de sources, y compris des fichiers images, HTML, HTML5, ASPX, et Razor/MVC View.
La bibliothèque fournit également des liens comme base pour les publications PDF, ainsi que l'utilisation d'agents utilisateurs, de proxies, de cookies, d'en-têtes HTTP et de variables de formulaire pour les publications PDFauthentification derrière les formulaires de connexion HTML.
Cela permet de créer un service pour l'API ChatGPT, qui peut alors être récupéré et utilisé par d'autres classes/pages.
Ajoutez le texte ci-dessous sur la page principale de l'application dans la méthode de chargement de la page. Cela permet d'obtenir l'instantané du service ChatGPT et de le stocker dans un objet local.
Le code ci-dessus permet de concevoir et de mettre en œuvre la page de l'interface utilisateur. Sur la page de conception, la zone de texte permet à l'utilisateur de saisir la requête. Une fois qu'ils ont saisi le texte nécessaire, lorsqu'ils cliquent sur le bouton, une requête est envoyée qui interagit avec l'API ChatGPT et produit le résultat. Le résultat sera affiché dans Tableview.
Dans la version démo de ChatGPT, le service n'empêche pas plus de 3 demandes par minute. L'interface utilisateur dispose également d'un bouton appelé "export" qui permet d'exporter la requête de l'utilisateur et la réponse de l'API ChatGPT dans un document PDF qui pourra être utilisé à l'avenir à titre de référence.
Les exemples de code ci-dessous sont utilisés pour l'exportation vers Excel.
private void OnExportClicked(object sender, EventArgs e)
{
celldata = null;
db = new StringBuilder();
foreach (var table_section in Table_View.Root.ToList().Select(s => new TableSection { s }).ToList())
{
if (table_section.Count > 0)
{
celldata = null;
celldata = table_section.Select(s => (Microsoft.Maui.Controls.TextCell)s).FirstOrDefault();
db.Append("<p style='color:red;text-align:left;'>" + celldata.Text + "</p>");
db.Append("<p style='color:black;text-align:justify;'>" + celldata.Detail + "</p>");
}
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(db.ToString());
pdf.SaveAs("F:\\Download\\Demo.pdf");
}
}
private async void SendqueryClicked(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Userquest.Text.ToString()))
{
var query = Userquest.Text;
Userquest.Text = "";
var tablesec = SetGetTextCell(query);
ChatGptResponse response = await _chatGptClient.AskAsync(_sessionGuid, query);
var resp = response.GetMessage();
tablesec.Detail = resp.ToString();
}
}
private Microsoft.Maui.Controls.TextCell SetGetTextCell(string Setvalue)
{
celldata = null;
if (!string.IsNullOrEmpty(Setvalue))
{
celldata = new TextCell
{
Text = Setvalue,
TextColor = Colors.Red,
DetailColor = Colors.WhiteSmoke,
Detail = ""
};
Table_View.Root.Add(new TableSection()
{
celldata
});
}
return celldata;
}
private void OnExportClicked(object sender, EventArgs e)
{
celldata = null;
db = new StringBuilder();
foreach (var table_section in Table_View.Root.ToList().Select(s => new TableSection { s }).ToList())
{
if (table_section.Count > 0)
{
celldata = null;
celldata = table_section.Select(s => (Microsoft.Maui.Controls.TextCell)s).FirstOrDefault();
db.Append("<p style='color:red;text-align:left;'>" + celldata.Text + "</p>");
db.Append("<p style='color:black;text-align:justify;'>" + celldata.Detail + "</p>");
}
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(db.ToString());
pdf.SaveAs("F:\\Download\\Demo.pdf");
}
}
private async void SendqueryClicked(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Userquest.Text.ToString()))
{
var query = Userquest.Text;
Userquest.Text = "";
var tablesec = SetGetTextCell(query);
ChatGptResponse response = await _chatGptClient.AskAsync(_sessionGuid, query);
var resp = response.GetMessage();
tablesec.Detail = resp.ToString();
}
}
private Microsoft.Maui.Controls.TextCell SetGetTextCell(string Setvalue)
{
celldata = null;
if (!string.IsNullOrEmpty(Setvalue))
{
celldata = new TextCell
{
Text = Setvalue,
TextColor = Colors.Red,
DetailColor = Colors.WhiteSmoke,
Detail = ""
};
Table_View.Root.Add(new TableSection()
{
celldata
});
}
return celldata;
}
Private Sub OnExportClicked(ByVal sender As Object, ByVal e As EventArgs)
celldata = Nothing
db = New StringBuilder()
For Each table_section In Table_View.Root.ToList().Select(Function(s) New TableSection From {s}).ToList()
If table_section.Count > 0 Then
celldata = Nothing
celldata = table_section.Select(Function(s) CType(s, Microsoft.Maui.Controls.TextCell)).FirstOrDefault()
db.Append("<p style='color:red;text-align:left;'>" & celldata.Text & "</p>")
db.Append("<p style='color:black;text-align:justify;'>" & celldata.Detail & "</p>")
End If
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(db.ToString())
pdf.SaveAs("F:\Download\Demo.pdf")
Next table_section
End Sub
Private Async Sub SendqueryClicked(ByVal sender As Object, ByVal e As EventArgs)
If Not String.IsNullOrEmpty(Userquest.Text.ToString()) Then
Dim query = Userquest.Text
Userquest.Text = ""
Dim tablesec = SetGetTextCell(query)
Dim response As ChatGptResponse = Await _chatGptClient.AskAsync(_sessionGuid, query)
Dim resp = response.GetMessage()
tablesec.Detail = resp.ToString()
End If
End Sub
Private Function SetGetTextCell(ByVal Setvalue As String) As Microsoft.Maui.Controls.TextCell
celldata = Nothing
If Not String.IsNullOrEmpty(Setvalue) Then
celldata = New TextCell With {
.Text = Setvalue,
.TextColor = Colors.Red,
.DetailColor = Colors.WhiteSmoke,
.Detail = ""
}
Table_View.Root.Add(New TableSection() From {celldata})
End If
Return celldata
End Function
Après avoir récupéré les données d'entrée une par une à l'aide de la boucle for, ajoutez la chaîne HTML dans la chaîne pour formater le texte d'affichage. IronPDF peut ensuite être utilisé pour exporter les résultats au format PDF et les enregistrer à l'endroit souhaité.
Après avoir ajouté le code ci-dessus, essayez d'exécuter la solution. Saisissez ensuite la requête et récupérez le résultat en cliquant sur le bouton "envoyer la requête". Il enverra la requête de l'utilisateur pour récupérer le résultat et affichera le message sur l'écran comme dans l'image ci-dessous.
Ajouter une requête de texte dans l'application
Cliquez sur le bouton d'exportation pour exporter les résultats au format PDF, comme dans l'image ci-dessous.
Le fichier PDF exporté
Maintenant, nous avons pu créer un chatbot en utilisant ChatGPT et exporter ce chat en utilisant IronPDF sur MAUI App. En utilisant le concept ci-dessus, il est possible d'inclure des images, de l'audio et de la vidéo à partir de l'API ChatGPT pour obtenir des résultats plus précis.
5.0 Conclusion
L'objectif de cet article est de développer une application MAUI qui utilise l'API OpenAI ChatGPT pour prendre des messages, offrir des résultats basés sur les requêtes de l'utilisateur et exporter ces résultats sous la forme d'un fichier PDF. Pour améliorer le calibre des suggestions, n'hésitez pas à explorer en modifiant les questions. Pour voir si différents modèles produisent de meilleurs résultats, vous pouvez aussi expérimenter en modifiant la valeur de l'enum ChatGptModels dans la méthode AddChatGpt de "MauiProgram.cs".
L'API ChatGPT est un puissant programme d'intelligence artificielle qui nous permet de fournir des résultats basés sur la requête de l'utilisateur. Le coût de l'API ChatGPT est calculé en fonction du nombre de requêtes envoyées. IronPDF est utilisé pour effectuer des requêtes API et exporter le résultat au format PDF pour des utilisations ultérieures, ce qui évite d'effectuer plusieurs fois la même requête API.
Avec IronPDF, nous pouvons créer des PDF en utilisant seulement quelques lignes de code. Cette application convient aux débutants et ne nécessite que des connaissances de base pour être utilisée. Aucun autre paquet ne dépend d'IronPDF de quelque manière que ce soit. Par exemple, il s'agit d'une bibliothèque qui se présente sous la forme d'un paquet unique. Les développeurs IronPDF peuvent choisir parmi une variété de licences pour répondre à leurs besoins. Une version d'essai gratuite est également disponible. Pour obtenir des informations complètes sur les prix et les licences d'IronPDF, veuillez vous référer à la page d'accueil du site Web d'IronPDFPage de licences IronPDF.
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
< PRÉCÉDENT Comment utiliser la validation fluide avec IronPDF en C#
SUIVANT > Comment créer des signatures PDF dans .NET
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