Comment Convertir RTF en PDF en Utilisant C#

Comment convertir RTF en PDF dans IronPDF C

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF convertit les documents RTF en PDF en C# en utilisant les méthodes RenderRtfStringAsPdf et RenderRtfFileAsPdf sur ChromePdfRenderer, acceptant soit une chaîne RTF, soit un chemin de fichier et retournant un PdfDocument que vous pouvez enregistrer, sécuriser ou fusionner.

RTF (Rich Text Format) est un format de document que Microsoft a introduit en 1987. Il stocke du texte avec des commandes de formatage telles que polices, styles, couleurs, et listes à puces en texte brut, c'est pourquoi il se déplace bien entre les éditeurs. Transformer un RTF en PDF vous donne un fichier à mise en page fixe qui paraît identique sur n'importe quel dispositif, peut être protégé par mot de passe, et est prêt à être imprimé ou archivé.

Veuillez noterIronPDF rend le RTF via son chemin de conversion de document, qui interprète directement le balisage RTF, et non via le moteur HTML Chrome utilisé pour le HTML en PDF. Les formats standard tels que gras, italique, souligné, couleurs, polices, et listes à puces simples se convertissent de manière fiable. Les mots de contrôle RTF moins courants, les tableaux imbriqués et les objets OLE intégrés peuvent ne pas faire l'aller-retour exactement, alors vérifiez la sortie lorsqu'un document utilise des fonctionnalités avancées.

Démarrage rapide : Convertir un fichier RTF en PDF avec IronPDF

Rendez un fichier au format Rich Text en PDF en un seul appel. Pointez RenderRtfFileAsPdf vers le chemin RTF, puis enregistrez le document retourné.

  1. Installez IronPDF avec le Gestionnaire de Packages NuGet

    PM > Install-Package IronPdf
  2. Copiez et exécutez cet extrait de code.

    new IronPdf.ChromePdfRenderer()
         .RenderRtfFileAsPdf("input.rtf")
         .SaveAs("output.pdf");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit

    arrow pointer


Comment convertir une chaîne RTF en PDF ?

Utilisez la méthode RenderRtfStringAsPdf pour transformer une chaîne RTF en document PDF. L'entrée sous forme de chaîne convient au contenu que vous construisez à l'exécution : RTF extrait d'une colonne de base de données, renvoyé par une API, ou assemblé dans le code, sans fichier temporaire à écrire ou nettoyer. La méthode retourne un PdfDocument, vous pouvez donc continuer à travailler sur le résultat, en appliquant les en-têtes et pieds de page, en fusionnant les pages ou en ajoutant des annotations et des signets.

:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-from-string.cs
using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// RTF string
string rtf = @"{\rtf1\ansi\deff0{\fonttbl{\f0 Arial;}}{\colortbl;\red0\green0\blue0;}\cf0This is some \b bold \b0 and \i italic \i0 text.}";

// Render from RTF string
PdfDocument pdf = renderer.RenderRtfStringAsPdf(rtf);

// Save the PDF
pdf.SaveAs("pdfFromRtfString.pdf");
Imports IronPdf

' Instantiate Renderer
Private renderer As New ChromePdfRenderer()

' RTF string
Private rtf As String = "{\rtf1\ansi\deff0{\fonttbl{\f0 Arial;}}{\colortbl;\red0\green0\blue0;}\cf0This is some \b bold \b0 and \i italic \i0 text.}"

' Render from RTF string
Private pdf As PdfDocument = renderer.RenderRtfStringAsPdf(rtf)

' Save the PDF
pdf.SaveAs("pdfFromRtfString.pdf")
$vbLabelText   $csharpLabel

Sortie

Comment puis-je appliquer des options de formatage supplémentaires ?

Le même RenderingOptions que vous utilisez pour le rendu HTML s'applique ici. Réglez l'orientation du papier, les marges, et la taille de la page sur le moteur de rendu avant d'appeler RenderRtfStringAsPdf :

:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-3.cs
using IronPdf;
using IronPdf.Rendering;

// Create renderer with custom options
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 25;
renderer.RenderingOptions.MarginRight = 25;

// RTF string with formatting
string rtf = @"{\rtf1\ansi\deff0{\fonttbl{\f0 Times New Roman;}{\f1 Arial;}}
{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}
\f0\fs24 This is a heading\line
\f1\fs20\cf1 This text is red\line
\cf2 This text is blue\line
\b Bold text\b0 and \i italic text\i0}";

// Convert with custom options
PdfDocument pdf = renderer.RenderRtfStringAsPdf(rtf);
pdf.SaveAs("formattedRtfToPdf.pdf");
Imports IronPdf
Imports IronPdf.Rendering

' Create renderer with custom options
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50
renderer.RenderingOptions.MarginLeft = 25
renderer.RenderingOptions.MarginRight = 25

' RTF string with formatting
Dim rtf As String = "{\rtf1\ansi\deff0{\fonttbl{\f0 Times New Roman;}{\f1 Arial;}}" & _
                    "{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}" & _
                    "\f0\fs24 This is a heading\line" & _
                    "\f1\fs20\cf1 This text is red\line" & _
                    "\cf2 This text is blue\line" & _
                    "\b Bold text\b0 and \i italic text\i0}"

' Convert with custom options
Dim pdf As PdfDocument = renderer.RenderRtfStringAsPdf(rtf)
pdf.SaveAs("formattedRtfToPdf.pdf")
$vbLabelText   $csharpLabel

Pour un contrôle plus précis sur la géométrie de la page, consultez les guides sur les marges personnalisées et les formats de papier personnalisés.

Sortie

Comment convertir un fichier RTF en PDF ?

Passez le chemin de votre document à RenderRtfFileAsPdf. La méthode accepte à la fois les chemins absolus et relatifs. Téléchargez un fichier RTF d'exemple pour suivre : sample.rtf. L'exemple ci-dessous rend ce fichier en PDF.

Entrée

Fichier RTF affichant Microsoft Word avec des exemples de texte formaté, y compris du texte en gras, en italique, à puces et souligné

Quel code dois-je utiliser pour convertir les fichiers RTF?

:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-from-file.cs
using IronPdf;

// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render from RTF file
PdfDocument pdf = renderer.RenderRtfFileAsPdf("sample.rtf");

// Save the PDF
pdf.SaveAs("pdfFromRtfFile.pdf");
Imports IronPdf

' Instantiate Renderer
Private renderer As New ChromePdfRenderer()

' Render from RTF file
Private pdf As PdfDocument = renderer.RenderRtfFileAsPdf("sample.rtf")

' Save the PDF
pdf.SaveAs("pdfFromRtfFile.pdf")
$vbLabelText   $csharpLabel

Pour convertir un dossier de documents, réutilisez un moteur de rendu et bouclez sur les fichiers :

:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-5.cs
using IronPdf;
using System.IO;

// Create renderer once for efficiency
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Get all RTF files in directory
string[] rtfFiles = Directory.GetFiles(@"C:\RTFDocuments", "*.rtf");

foreach (string rtfFile in rtfFiles)
{
    // Convert each RTF file to PDF
    PdfDocument pdf = renderer.RenderRtfFileAsPdf(rtfFile);
    
    // Save with same name but PDF extension
    string pdfPath = Path.ChangeExtension(rtfFile, ".pdf");
    pdf.SaveAs(pdfPath);
}
Imports IronPdf
Imports System.IO

' Create renderer once for efficiency
Dim renderer As New ChromePdfRenderer()

' Get all RTF files in directory
Dim rtfFiles As String() = Directory.GetFiles("C:\RTFDocuments", "*.rtf")

For Each rtfFile As String In rtfFiles
    ' Convert each RTF file to PDF
    Dim pdf As PdfDocument = renderer.RenderRtfFileAsPdf(rtfFile)
    
    ' Save with same name but PDF extension
    Dim pdfPath As String = Path.ChangeExtension(rtfFile, ".pdf")
    pdf.SaveAs(pdfPath)
Next
$vbLabelText   $csharpLabel

Sortie

Quels sont les problèmes courants lors de la conversion de fichiers RTF?

Quelques situations nécessitent une attention particulière lors du rendu des fichiers RTF :

  1. Polices : Une police nommée dans le RTF doit être installée sur la machine effectuant la conversion, ce qui est important surtout sur les serveurs sans interface graphique et les conteneurs. Le guide de gestion des polices couvre l'enregistrement des polices à l'exécution.
  2. Documents volumineux : Rendez les longs fichiers hors du thread de requête avec l'API asynchrone pour que l'application reste réactive.
  3. Caractères internationaux : Les documents avec des scripts non-latins dépendent du bon encodage dans le RTF source et d'une police installée qui couvre ces glyphes.
  4. Balises avancées : Les tableaux imbriqués et les objets intégrés peuvent ne pas se reproduire exactement. Comparez la sortie à la source lorsque le document s'appuie sur ceux-ci.

Comment ajouter de la sécurité au PDF converti?

Après le rendu, verrouillez le document via SecuritySettings, en définissant un mot de passe propriétaire, un mot de passe utilisateur, ainsi que les autorisations de copie et d'impression :

:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-6.cs
using IronPdf;
using IronPdf.Security;

// Convert RTF to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderRtfFileAsPdf("confidential.rtf");

// Apply security settings
pdf.SecuritySettings.MakePdfDocumentReadOnly("owner_password");
pdf.SecuritySettings.UserPassword = "user_password";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;

// Save secured PDF
pdf.SaveAs("secured_document.pdf");
Imports IronPdf
Imports IronPdf.Security

' Convert RTF to PDF
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderRtfFileAsPdf("confidential.rtf")

' Apply security settings
pdf.SecuritySettings.MakePdfDocumentReadOnly("owner_password")
pdf.SecuritySettings.UserPassword = "user_password"
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint

' Save secured PDF
pdf.SaveAs("secured_document.pdf")
$vbLabelText   $csharpLabel

Le guide des permissions et mots de passe PDF couvre l'ensemble des options de restriction.

Icon Quote related to Comment ajouter de la sécurité au PDF converti?

Ma bibliothèque préférée de ce genre est IronPDF. Elle permet une manipulation rapide et efficace des fichiers PDF. Elle dispose également de nombreuses fonctionnalités précieuses, comme l'exportation au format PDF/A et la signature numérique des documents PDF.

Milan Jovanovic related to Comment ajouter de la sécurité au PDF converti?

Milan Jovanovic

Microsoft MVP

Voir l'étude de cas
Icon Quote related to Comment ajouter de la sécurité au PDF converti?

IronOCR signifie que nous pouvons économiser 40 000 $ par an grâce au traitement manuel, tout en améliorant la productivité et en libérant des ressources pour des tâches à fort impact. Je le recommande vivement.

Brent Matzelle related to Comment ajouter de la sécurité au PDF converti?

Brent Matzelle

Directeur technique, OPYN

Voir l'étude de cas
Icon Quote related to Comment ajouter de la sécurité au PDF converti?

Iron Suite joue un rôle crucial dans nos opérations. Ce sont des outils qui augmentent l'efficacité de l'entreprise, y compris la création de plans d'étage et l'amélioration de la gestion des stocks.

David Jones related to Comment ajouter de la sécurité au PDF converti?

David Jones

Ingénieur logiciel principal, Agorus Build

Voir l'étude de cas

Comment combiner plusieurs fichiers RTF en un PDF unique ?

Rendez chaque fichier RTF dans son propre PdfDocument, puis appelez PdfDocument.Merge pour les joindre. Cela construit un livrable unique à partir de plusieurs documents sources, tels que des chapitres d'un rapport :

:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-7.cs
using IronPdf;
using System.Collections.Generic;

// Create renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

// Convert multiple RTF files
List<PdfDocument> pdfs = new List<PdfDocument>();
pdfs.Add(renderer.RenderRtfFileAsPdf("chapter1.rtf"));
pdfs.Add(renderer.RenderRtfFileAsPdf("chapter2.rtf"));
pdfs.Add(renderer.RenderRtfFileAsPdf("chapter3.rtf"));

// Merge PDFs
PdfDocument mergedPdf = PdfDocument.Merge(pdfs);

// Add page numbers across the merged document
mergedPdf.AddTextFooters(new TextHeaderFooter
{
    CenterText = "Page {page} of {total-pages}",
    FontSize = 12
});

// Save combined document
mergedPdf.SaveAs("combined_document.pdf");

// Clean up individual PDFs
foreach (var pdf in pdfs)
{
    pdf.Dispose();
}
Imports IronPdf
Imports System.Collections.Generic

' Create renderer
Dim renderer As New ChromePdfRenderer()

' Convert multiple RTF files
Dim pdfs As New List(Of PdfDocument)()
pdfs.Add(renderer.RenderRtfFileAsPdf("chapter1.rtf"))
pdfs.Add(renderer.RenderRtfFileAsPdf("chapter2.rtf"))
pdfs.Add(renderer.RenderRtfFileAsPdf("chapter3.rtf"))

' Merge PDFs
Dim mergedPdf As PdfDocument = PdfDocument.Merge(pdfs)

' Add page numbers across the merged document
mergedPdf.AddTextFooters(New TextHeaderFooter With {
    .CenterText = "Page {page} of {total-pages}",
    .FontSize = 12
})

' Save combined document
mergedPdf.SaveAs("combined_document.pdf")

' Clean up individual PDFs
For Each pdf In pdfs
    pdf.Dispose()
Next pdf
$vbLabelText   $csharpLabel

Les espaces réservés pour le pied de page {page} et {total-pages} numérotent les pages dans le résultat fusionné.

Comment retourner un PDF converti à partir d'un point de terminaison web ?

Dans ASP.NET, rendez le RTF à l'intérieur de l'action et retournez les octets du document comme résultat de fichier. Lisez la propriété BinaryData du PdfDocument et remettez-la à File :

[HttpGet]
public IActionResult ConvertRtfToPdf(string rtfContent)
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderRtfStringAsPdf(rtfContent);
    return File(pdf.BinaryData, "application/pdf", "converted_document.pdf");
}
[HttpGet]
public IActionResult ConvertRtfToPdf(string rtfContent)
{
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderRtfStringAsPdf(rtfContent);
    return File(pdf.BinaryData, "application/pdf", "converted_document.pdf");
}
<HttpGet>
Public Function ConvertRtfToPdf(rtfContent As String) As IActionResult
    Dim renderer As New ChromePdfRenderer()
    Dim pdf As PdfDocument = renderer.RenderRtfStringAsPdf(rtfContent)
    Return File(pdf.BinaryData, "application/pdf", "converted_document.pdf")
End Function
$vbLabelText   $csharpLabel

Conclusion

IronPDF convertit RTF en PDF à partir de chaînes et de fichiers à travers RenderRtfStringAsPdf et RenderRtfFileAsPdf, et le PdfDocument résultant s'intègre au reste de la bibliothèque pour la mise en page, la sécurité et la fusion. D'ici, associez la conversion RTF avec les marges personnalisées et les en-têtes et pieds de page montrés ci-dessus, ou passez à la liste complète des conversions PDF.

Questions Fréquemment Posées

Comment convertir un fichier RTF en PDF en C# ?

Avec IronPDF, vous pouvez convertir un fichier RTF en PDF en seulement deux lignes de code à l'aide de la méthode RenderRtfileAsPdf. Il suffit de créer une instance de ChromePdfRenderer et d'appeler RenderRtfFileAsPdf avec le chemin du fichier d'entrée, puis d'enregistrer le résultat à l'aide de la méthode SaveAs.

Puis-je convertir des chaînes RTF directement en PDF sans les enregistrer d'abord en tant que fichiers ?

Oui, IronPDF fournit la méthode RenderRtfStringAsPdf qui vous permet de convertir le contenu RTF des chaînes directement en documents PDF. Cette méthode est particulièrement utile lorsque vous travaillez avec du contenu RTF généré dynamiquement ou des données provenant de bases de données.

La conversion de RTF en PDF préserve-t-elle le formatage et les styles ?

IronPDF rend le RTF à travers son chemin de conversion de document, donc le formatage standard tel que les polices, les styles, les couleurs, le gras, l'italique, et les listes à puces simples se convertissent de manière fiable. Les mots de contrôle moins courants, les tableaux imbriqués, et les objets OLE intégrés peuvent ne pas faire un aller-retour exact, donc examinez la sortie lorsque un document utilise des fonctionnalités avancées.

Quels sont les avantages de la conversion de RTF en PDF ?

La conversion de RTF en PDF avec IronPDF offre plusieurs avantages : accessibilité facile sur toutes les plateformes, capacités de compression, optimisation de l'impression, apparence cohérente du document quel que soit l'appareil de visualisation, fonctions de sécurité renforcées et préparation à la distribution de documents professionnels.

Puis-je ajouter des en-têtes, des pieds de page et des numéros de page à mon PDF converti ?

Oui, IronPDF prend en charge toute la gamme des options de rendu lors de la conversion de RTF en PDF. Vous pouvez appliquer des en-têtes et des pieds de page textuels et HTML, ajouter une numérotation de page, mettre en œuvre un estampillage de texte et d'image, et personnaliser la taille et l'orientation des pages.

Est-il possible de manipuler le PDF après l'avoir converti à partir de RTF ?

Absolument ! Après avoir généré votre PDF à partir de RTF à l'aide d'IronPDF, vous pouvez effectuer diverses manipulations de pages, notamment fusionner et diviser des PDF, faire pivoter des pages, ajouter des annotations et mettre en place des signets.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer ?
Nuget Téléchargements 20,088,359 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPdf
exécuter un échantillon Regardez votre code HTML se transformer en PDF.