AIDE .NET

Convertir une chaîne C# en bulle (Comment cela fonctionne pour les développeurs)

Chaknith Bin
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

C# Convertir une chaîne en bulle (Comment cela fonctionne pour les développeurs) : Figure 1

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
$vbLabelText   $csharpLabel

Alternativement, vous pouvez l'installer via le NuGet Package Manager dans Visual Studio en recherchant IronPDF, puis en cliquant sur "Installer".

C# Convertir une chaîne en bulle (fonctionnement pour les développeurs) : Figure 2

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
$vbLabelText   $csharpLabel

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 :

string widthInput = "150.5";
double bubbleWidth = double.Parse(widthInput);
string widthInput = "150.5";
double bubbleWidth = double.Parse(widthInput);
Dim widthInput As String = "150.5"
Dim bubbleWidth As Double = Double.Parse(widthInput)
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

Sortie PDF

C# Convertir une chaîne en bulle (Comment cela fonctionne pour les développeurs) : Figure 3 - Sortie PDF de la chaîne C# en bulle de dialogue

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 :

.bubble {
  background: #ffcc00;
  color: #333;
  font-size: 16px;
}
.bubble {
  background: #ffcc00;
  color: #333;
  font-size: 16px;
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

Sortie PDF

C# Convertir une chaîne en bulle (Comment cela fonctionne pour les développeurs) : Figure 4 - Sortie personnalisée de bulle de parole 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.

using IronPdf;
class Program
{
    public static void Main()
    {
        PdfDocument pdf = PdfDocument.FromFile("existing.pdf");
        string newBubble = "<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");
    }
}
using IronPdf;
class Program
{
    public static void Main()
    {
        PdfDocument pdf = PdfDocument.FromFile("existing.pdf");
        string newBubble = "<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");
    }
}
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
$vbLabelText   $csharpLabel

Sortie PDF

C# Convertir une chaîne en bulle (Comment cela fonctionne pour les développeurs) : Figure 5 - Résultat de l'ajout d'une bulle de dialogue à un PDF existant

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
$vbLabelText   $csharpLabel

Sortie PDF

C# Convert String to Bubble (Comment cela fonctionne pour les développeurs) : Figure 6 - Fichier PDF de sortie pour générer des bulles de parole à partir de données

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)
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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 Bin
Ingénieur logiciel
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)