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");
Convertir une chaîne C# en bulle (Comment cela fonctionne pour les développeurs)
Chaknith Bin
avril 3, 2025
Partager:
Introduction
Les bulles de dialogue sont un excellent moyen de mettre en valeur du texte, d'annoter des documents ou de créer des effets de style bande dessinée dans les PDFs. Que vous ajoutiez des commentaires à un rapport, génériez des guides d'instruction ou créiez des documents interactifs, les bulles de dialogue peuvent améliorer la lisibilité et l'attrait visuel de vos PDF.
Dans cet article, nous explorerons comment convertir des variables de chaîne en une bulle de dialogue en C# en utilisant IronPDF. IronPDF est une bibliothèque .NET puissante qui permet une conversion facile de HTML et CSS en PDF, ce qui la rend idéale pour rendre dynamiquement des bulles de dialogue stylisées à partir de n'importe quelle chaîne C# donnée. Plongeons-nous dedans !
IronPDF : Une bibliothèque PDF .NET puissante
Ajouter depuis PixabayTéléverser
ou faites glisser et déposez une image ici
Ajouter un texte alternatif à l'image
Alors, pourquoi IronPDF ? IronPDF est une puissante bibliothèque C# conçue pour faciliter le travail avec les fichiers PDF de manière programmée. Avec cet outil, vous pouvez facilement générer des documents PDF à partir de HTML, d'images, de fichiers DOCX et plus encore. Ou, peut-être recherchez-vous un outil qui peut gérer la sécurité des PDF de manière efficace et efficiente ou pour éditer des documents PDF existants. Quelle que soit la tâche, IronPDF vous a couvert, servant de bibliothèque tout-en-un qui propose une solution pour à peu près n'importe quelle tâche liée aux PDF sans avoir besoin de bibliothèques tierces.
Mise en place du projet
Installation d'IronPDF
Pour commencer, installez IronPDF via NuGet. Ouvrez la Console du Gestionnaire de Paquets dans Visual Studio et exécutez :
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
Alternativement, vous pouvez l'installer via le NuGet Package Manager dans Visual Studio en recherchant IronPDF, puis en cliquant sur "Installer".
Ajouter depuis PixabayTéléverser
ou faites glisser et déposez une image ici
Ajouter un texte alternatif à l'image
Une fois installé, assurez-vous d'avoir inclus l'espace de noms suivant dans votre fichier C# :
using IronPdf;
using IronPdf;
Imports IronPdf
Comprendre les bulles de dialogue dans les PDF
Les bulles de dialogue sont généralement créées à l'aide de HTML et CSS. Ils consistent en un conteneur de texte avec des bords arrondis et une petite queue pointant vers le locuteur. En utilisant IronPDF, nous pouvons générer ces bulles de dialogue en tant qu'éléments HTML et les rendre à l'intérieur d'un PDF.
Travailler avec les types de données pour les bulles de dialogue
Analyse des valeurs de chaîne en types numériques
Parfois, nous pouvons avoir besoin de convertir les saisies de l'utilisateur en une valeur double pour définir les dimensions de la bulle de dialogue de manière dynamique. Nous pouvons utiliser la méthode parse pour y parvenir :
Dim widthInput As String = "150.5"
Dim bubbleWidth As Double = Double.Parse(widthInput)
Ceci permet le redimensionnement dynamique de la bulle en fonction de l'entrée de l'utilisateur.
Utilisation de valeurs booléennes pour les options d'affichage
Une valeur booléenne peut être utilisée pour basculer l'affichage d'une bulle de dialogue :
bool showBubble = true;
if (showBubble)
{
Console.WriteLine("Speech bubble is visible");
}
bool showBubble = true;
if (showBubble)
{
Console.WriteLine("Speech bubble is visible");
}
Dim showBubble As Boolean = True
If showBubble Then
Console.WriteLine("Speech bubble is visible")
End If
Convertir des chaînes en bulles de dialogue avec IronPDF
Créer un modèle HTML pour Bubble
Étant donné qu'IronPDF prend en charge la conversion de HTML en PDF, nous pouvons créer une bulle de dialogue simple en utilisant HTML et CSS. Pour convertir des variables de chaîne en documents PDF, vous devez d'abord vous assurer de créer une nouvelle instance de ChromePdfRenderer.
using IronPdf;
class Program
{
static void Main()
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
string htmlContent = "" +
"<div class='bubble'>Hello, this is a speech bubble!</div>" +
"<style>" +
".bubble { display: inline-block; background: #f0f0f0; border-radius: 10px; padding: 10px 15px; position: relative; font-family: Arial, sans-serif; }" +
".bubble::after { content: ''; position: absolute; bottom: -10px; left: 20px; border-width: 10px; border-style: solid; border-color: #f0f0f0 transparent transparent transparent; }" +
"</style>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("speechBubble.pdf");
}
}
using IronPdf;
class Program
{
static void Main()
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
string htmlContent = "" +
"<div class='bubble'>Hello, this is a speech bubble!</div>" +
"<style>" +
".bubble { display: inline-block; background: #f0f0f0; border-radius: 10px; padding: 10px 15px; position: relative; font-family: Arial, sans-serif; }" +
".bubble::after { content: ''; position: absolute; bottom: -10px; left: 20px; border-width: 10px; border-style: solid; border-color: #f0f0f0 transparent transparent transparent; }" +
"</style>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("speechBubble.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
Dim htmlContent As String = "" & "<div class='bubble'>Hello, this is a speech bubble!</div>" & "<style>" & ".bubble { display: inline-block; background: #f0f0f0; border-radius: 10px; padding: 10px 15px; position: relative; font-family: Arial, sans-serif; }" & ".bubble::after { content: ''; position: absolute; bottom: -10px; left: 20px; border-width: 10px; border-style: solid; border-color: #f0f0f0 transparent transparent transparent; }" & "</style>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("speechBubble.pdf")
End Sub
End Class
Sortie PDF
Ajouter depuis PixabayTéléverser
ou faites glisser et déposez une image ici
Effacer le texte alternatif
Comme vous pouvez le voir, nous avons créé une variable de type chaîne qui contient le contenu HTML et CSS qui sera utilisé pour rendre une bulle de texte dans notre document PDF. Ensuite, en utilisant la méthode RenderHtmlAsPdf de la classe ChromePdfRenderer, nous rendons cette chaîne en un document PDF, avant de l'enregistrer.
En suivant ces étapes, vous aurez généré un nouveau document PDF contenant le texte "Hello, this is a speech bubble!", et maîtrisé les bases de la génération de fichiers PDF à partir d'une simple chaîne.
Personnalisation de la bulle de dialogue
Que faire si vous vouliez faire quelque chose de plus que simplement ajouter une bulle de discours basique à votre PDF. Voyons comment vous pouvez personnaliser une bulle de dialogue en utilisant CSS. Vous pouvez modifier la couleur, la taille et la position de la bulle en ajustant le CSS. Voici un exemple où nous changeons la couleur de fond et la taille du texte :
IRON VB CONVERTER ERROR developers@ironsoftware.com
Si vous avez besoin de texte dynamique, vous pouvez remplacer le texte statique par une variable C#, le code final ressemblant à ceci :
using IronPdf;
class Program
{
static void Main()
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
string userInput = "This is a custom speech bubble!";
string dynamicHtml = $"<div class='bubble'>{userInput}</div>" + "<style>" + ".bubble {background: #ffcc00; color: #333; font-size: 16px; }" + "</style>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(dynamicHtml);
pdf.SaveAs("speechBubble.pdf");
}
}
using IronPdf;
class Program
{
static void Main()
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
string userInput = "This is a custom speech bubble!";
string dynamicHtml = $"<div class='bubble'>{userInput}</div>" + "<style>" + ".bubble {background: #ffcc00; color: #333; font-size: 16px; }" + "</style>";
PdfDocument pdf = renderer.RenderHtmlAsPdf(dynamicHtml);
pdf.SaveAs("speechBubble.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
Dim userInput As String = "This is a custom speech bubble!"
Dim dynamicHtml As String = $"<div class='bubble'>{userInput}</div>" & "<style>" & ".bubble {background: #ffcc00; color: #333; font-size: 16px; }" & "</style>"
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(dynamicHtml)
pdf.SaveAs("speechBubble.pdf")
End Sub
End Class
Sortie PDF
Ajouter depuis PixabayTéléverser
ou faites glisser et déposez une image ici
Effacer le texte alternatif
Fonctionnalités avancées
Superposition de la bulle sur un PDF existant
Parfois, vous pouvez vouloir ajouter des bulles de dialogue à un PDF existant au lieu d'en générer un nouveau. IronPDF vous permet de superposer des éléments HTML sur des PDFs existants sous forme de filigranes.
Imports IronPdf
Friend Class Program
Public Shared Sub Main()
Dim pdf As PdfDocument = PdfDocument.FromFile("existing.pdf")
Dim newBubble As String = "<div class='bubble'>New Comment</div>" & "<style>" & ".bubble { display: inline-block; background: #f0f0f0; border-radius: 10px; padding: 10px 15px; position: relative; font-family: Arial, sans-serif; }" & ".bubble::after { content: ''; position: absolute; bottom: -10px; left: 20px; border-width: 10px; border-style: solid; border-color: #f0f0f0 transparent transparent transparent; }" & "</style>"
pdf.ApplyWatermark(newBubble)
pdf.SaveAs("updated.pdf")
End Sub
End Class
Sortie PDF
Ajouter depuis PixabayTéléverser
ou faites glisser et déposez une image ici
Effacer le texte alternatif
Comme vous pouvez le voir dans l'exemple de code ci-dessus, nous commençons par charger un document PDF existant en utilisant PdfDocument.FromFile(), auquel nous prévoyons d'ajouter la nouvelle bulle de dialogue. Ensuite, en utilisant du HTML et CSS simples, nous avons créé la bulle de dialogue dans notre représentation sous forme de chaîne newBubble du contenu HTML. Enfin, tout ce que nous devions faire pour appliquer cette nouvelle bulle au PDF était d'utiliser la méthode ApplyWatermark.
En utilisant des outils tels que l'outil de filigrane d'IronPDF, les développeurs peuvent facilement appliquer du contenu HTML à des documents PDF existants.
Génération de bulles de texte à partir des données
Si vous devez créer des bulles de dialogue de manière dynamique en fonction des entrées utilisateur, d'une base de données ou d'une API, vous pouvez parcourir vos données et générer plusieurs bulles de dialogue.
using IronPdf;
class Program
{
static void Main()
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
List<string> messages = new List<string> { "Hello!", "How are you?", "This is IronPDF!" };
string htmlBubbles = "";
foreach (var msg in messages)
{
htmlBubbles += $"<div class='bubble'>{msg}</div>";
}
var pdf = renderer.RenderHtmlAsPdf(htmlBubbles);
pdf.SaveAs("updated.pdf");
}
}
using IronPdf;
class Program
{
static void Main()
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
List<string> messages = new List<string> { "Hello!", "How are you?", "This is IronPDF!" };
string htmlBubbles = "";
foreach (var msg in messages)
{
htmlBubbles += $"<div class='bubble'>{msg}</div>";
}
var pdf = renderer.RenderHtmlAsPdf(htmlBubbles);
pdf.SaveAs("updated.pdf");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
Dim messages As New List(Of String) From {"Hello!", "How are you?", "This is IronPDF!"}
Dim htmlBubbles As String = ""
For Each msg In messages
htmlBubbles &= $"<div class='bubble'>{msg}</div>"
Next msg
Dim pdf = renderer.RenderHtmlAsPdf(htmlBubbles)
pdf.SaveAs("updated.pdf")
End Sub
End Class
Sortie PDF
Ajouter depuis PixabayTéléverser
ou faites glisser et déposez une image ici
Effacer le texte alternatif
Ce code convertit les chaînes d'une liste en bulles de dialogue à travers l'utilisation d'une boucle foreach. En utilisant des méthodes telles que celle-ci pour convertir des chaînes en bulles de dialogue sur des documents PDF, vous pouvez facilement transformer des données telles que des journaux de discussion, des notifications ou même des rapports automatisés en bulles de dialogue présentées de manière claire.
Gestion des informations de formatage spécifiques à la culture
Lors de l'analyse de l'entrée utilisateur, nous pouvons avoir besoin de prendre en compte les informations de formatage spécifiques à la culture, en particulier pour les valeurs numériques.
using System.Globalization;
string value = "1,234.56";
double number = double.Parse(value, CultureInfo.InvariantCulture);
using System.Globalization;
string value = "1,234.56";
double number = double.Parse(value, CultureInfo.InvariantCulture);
Imports System.Globalization
Private value As String = "1,234.56"
Private number As Double = Double.Parse(value, CultureInfo.InvariantCulture)
Cela garantit un formatage numérique cohérent quel que soit le paramètre régional.
Utilisation de valeurs entières dans la gestion des bulles de dialogue
Affectation d'une variable entière
Nous pouvons déclarer une variable int pour stocker un compteur pour les bulles de dialogue :
int i = 0;
for (i = 0; i < 5; i++)
{
Console.WriteLine($"Generating speech bubble {i + 1}");
}
int i = 0;
for (i = 0; i < 5; i++)
{
Console.WriteLine($"Generating speech bubble {i + 1}");
}
Dim i As Integer = 0
For i = 0 To 4
Console.WriteLine($"Generating speech bubble {i + 1}")
Next i
Analyse des chaînes en valeurs entières
Si nous devons analyser une entrée de chaîne en un résultat int, nous pouvons utiliser la méthode parse :
string input = "42";
int result = int.Parse(input);
string input = "42";
int result = int.Parse(input);
Dim input As String = "42"
Dim result As Integer = Integer.Parse(input)
Cela garantit que l'entrée de texte est convertie en un format valide, sous la forme d'une variable de format numérique utilisable.
Créer une classe de générateur de bulles de dialogue
Pour garder notre code structuré, nous pouvons définir une classe publique pour la génération de bulles de dialogue :
public class SpeechBubbleGenerator
{
public string GenerateBubble(string text)
{
return $"<div class='bubble'>{text}</div>";
}
}
public class SpeechBubbleGenerator
{
public string GenerateBubble(string text)
{
return $"<div class='bubble'>{text}</div>";
}
}
Public Class SpeechBubbleGenerator
Public Function GenerateBubble(ByVal text As String) As String
Return $"<div class='bubble'>{text}</div>"
End Function
End Class
En utilisant cette classe, nous pouvons créer plusieurs bulles de dialogue efficacement.
Conclusion
Les bulles de dialogue ajoutent clarté et style aux fichiers PDF, les rendant idéales pour les annotations, les commentaires et les documents interactifs. En utilisant IronPDF, vous pouvez facilement générer ces bulles avec HTML et CSS tout en tirant parti de C# pour la personnalisation et l'automatisation. Que vous les superposiez sur des PDF existants ou que vous créiez des documents dynamiques, IronPDF offre une approche flexible et efficace, facilitant ainsi la conversion de chaînes de caractères en bulles de dialogue lisibles pour vos documents PDF.
Si vous cherchez une solution PDF puissante en .NET, essayez IronPDF et commencez à améliorer vos PDFs avec un contenu dynamique et visuellement attrayant !
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT HTML Prettifier (Comment ça fonctionne pour les développeurs)
SUIVANT > C# Directory.GetFiles (Comment ça fonctionne : Un guide 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