Como Converter RTF para PDF no IronPDF C#
IronPDF converte documentos RTF em PDF em C# usando os métodos RenderRtfStringAsPdf e RenderRtfFileAsPdf em ChromePdfRenderer, aceitando uma string RTF ou um caminho de arquivo e retornando um PdfDocument que você pode salvar, proteger ou mesclar.
RTF (Rich Text Format) é um formato de documento que a Microsoft introduziu em 1987. Ele armazena texto juntamente com comandos de formatação, como fontes, estilos, cores e listas com marcadores como texto simples, por isso ele trafega bem entre editores. Transformar RTF em PDF fornece um arquivo de layout fixo que parece o mesmo em qualquer dispositivo, pode ser protegido por senha e está pronto para impressão ou arquivamento.
Renderize um arquivo Rich Text Format para PDF em uma única chamada. Aponte RenderRtfFileAsPdf para o caminho RTF, depois salve o documento retornado.
-
1Install IronPDF with NuGet Package Manager
-
2Copie e execute este trecho de código.
new IronPdf.ChromePdfRenderer() .RenderRtfFileAsPdf("input.rtf") .SaveAs("output.pdf");C# -
3Implante para testar em seu ambiente de produção.
Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita
Fluxo de trabalho mínimo (5 etapas)
- Baixe a biblioteca C# para converter RTF em PDF.
- Prepare o arquivo RTF ou a string que deseja converter.
- Use o método
RenderRtfStringAsPdfpara converter uma string RTF. - Utilize o método
RenderRtfFileAsPdfpara converter um arquivo RTF. - Analise o documento PDF gerado.
Como Converter uma String RTF para PDF?
Use o método RenderRtfStringAsPdf para transformar uma string RTF em um documento PDF. A entrada de string é adequada para conteúdo que você cria em tempo de execução: RTF extraído de uma coluna de banco de dados, retornado por uma API ou montado em código, sem arquivo temporário para escrever ou limpar. O método retorna um PdfDocument, para que você possa continuar trabalhando no resultado, aplicando cabeçalhos e rodapés, mesclando páginas ou adicionando anotações e marcadores.
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")Saída
Como posso aplicar opções de formatação adicionais?
O mesmo RenderingOptions que você usa para renderização HTML aplica-se aqui. Defina a orientação do papel, margens e tamanho da página no renderizador antes de chamar RenderRtfStringAsPdf:
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")Para um controle mais fino sobre a geometria da página, consulte os guias sobre margens personalizadas e tamanhos de papel personalizados.
Saída
Como Converter um Arquivo RTF para PDF?
Passe o caminho do seu documento para RenderRtfFileAsPdf. O método aceita caminhos absolutos e relativos. Baixe um arquivo RTF de exemplo para seguir: sample.rtf. O exemplo abaixo renderiza esse arquivo para PDF.
Entrada

Que código preciso para converter arquivos RTF?
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")Para converter uma pasta de documentos, reutilize um renderizador e faça um loop sobre os arquivos:
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)
NextSaída
Quais são os problemas mais comuns na conversão de arquivos RTF?
Algumas situações precisam de atenção ao renderizar arquivos RTF:
- Fontes: Uma fonte nomeada no RTF deve estar instalada na máquina que está fazendo a conversão, o que é mais importante em servidores headless e containers. O guia de gerenciamento de fontes cobre como registrar fontes em tempo de execução.
- Documentos grandes: Renderize arquivos longos fora do thread de requisição com a API assíncrona para que o aplicativo permaneça responsivo.
- Caracteres internacionais: Documentos com scripts não-latinos dependem da codificação correta no RTF de origem e uma fonte instalada que cubra esses glifos.
- Marcação avançada: Tabelas aninhadas e objetos incorporados podem não ser reproduzidos exatamente. Compare a saída com a fonte quando um documento depende deles.
Como posso adicionar segurança ao PDF convertido?
Após a renderização, bloqueie o documento através de SecuritySettings, definindo uma senha de proprietário, uma senha de usuário e permissões de cópia e impressão:
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");
O guia de permissões e senhas de PDF cobre o conjunto completo de opções de restrição.
O IronSuite desempenha um papel crucial nas nossas operações. Estas são ferramentas que aumentam a eficiência no negócio, incluindo a criação de plantas baixas e melhoria na gestão de inventário.
Como combinar múltiplos arquivos RTF em um único PDF?
Renderize cada arquivo RTF em seu próprio PdfDocument, depois chame PdfDocument.Merge para juntá-los. Isso cria um único documento a partir de vários documentos de origem, como capítulos de um relatório:
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();
}
Os marcadores de posição no rodapé {page} e {total-pages} numeram as páginas no resultado mesclado.
Como retornar um PDF convertido de um endpoint na web?
No ASP.NET, renderize o RTF dentro da ação e retorne os bytes do documento como um resultado de arquivo. Leia a propriedade BinaryData do PdfDocument e passe-a para 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");
}
Conclusão
IronPDF converte RTF para PDF a partir de strings e arquivos através de RenderRtfStringAsPdf e RenderRtfFileAsPdf, e o PdfDocument resultante integra-se ao restante da biblioteca para layout, segurança e mesclagem. A partir daqui, combine a conversão RTF com as margens, cabeçalhos e rodapés personalizados mostrados acima, ou avance para a lista completa de conversões de PDF.
Perguntas frequentes
Como faço para converter um arquivo RTF em PDF usando C#?
Com o IronPDF, você pode converter um arquivo RTF para PDF com apenas duas linhas de código usando o método RenderRtfFileAsPdf. Basta criar uma instância de ChromePdfRenderer e chamar o método RenderRtfFileAsPdf com o caminho do arquivo de entrada e, em seguida, salvar o resultado usando o método SaveAs.
Posso converter strings RTF diretamente para PDF sem salvá-las como arquivos primeiro?
Sim, o IronPDF oferece o método RenderRtfStringAsPdf, que permite converter conteúdo RTF de strings diretamente para documentos PDF. Isso é particularmente útil ao trabalhar com conteúdo RTF gerado dinamicamente ou dados de bancos de dados.
A conversão de RTF para PDF preserva a formatação e os estilos?
A IronPDF renderiza RTF através do seu caminho de conversão de documentos, então formatação padrão como fontes, estilos, cores, negrito, itálico e listas de marcação simples são convertidas de forma confiável. Palavras de controle menos comuns, tabelas aninhadas e objetos OLE incorporados podem não fazer round-trip exatamente, então reveja a saída quando um documento usa recursos avançados.
Quais são os benefícios de converter RTF para PDF?
Converter RTF para PDF com o IronPDF oferece diversas vantagens: fácil acesso em diferentes plataformas, recursos de compressão, otimização de impressão, aparência consistente do documento independentemente do dispositivo de visualização, recursos de segurança aprimorados e preparação para distribuição profissional do documento.
Posso adicionar cabeçalhos, rodapés e números de página ao meu PDF convertido?
Sim, o IronPDF suporta todas as opções de renderização (RenderingOptions) ao converter RTF para PDF. Você pode aplicar cabeçalhos e rodapés de texto e HTML, adicionar numeração de páginas, implementar carimbos de texto e imagem e personalizar tamanhos e orientações de página.
É possível manipular o PDF após a conversão de RTF?
Com certeza! Depois de gerar seu PDF a partir de um arquivo RTF usando o IronPDF, você pode realizar diversas manipulações de página, incluindo mesclar e dividir PDFs, girar páginas, adicionar anotações e inserir marcadores.
How can I return a converted PDF from a web endpoint using IronPDF?
In ASP.NET, you can convert RTF to PDF and return it from a web endpoint by reading the `PdfDocument`'s `BinaryData` and returning it in the `File` result of an action.
What should I do if my RTF file uses fonts not installed on my conversion machine?
Ensure that the required fonts are installed on the machine performing the conversion or use IronPDF's guides to register fonts at runtime when converting RTF to PDF.
How does IronPDF handle international characters in RTF conversion?
International characters in RTF documents require proper encoding in the source and a suitable font that supports the required glyphs during the conversion process.
Is there a way to convert all RTF files in a directory to PDFs in IronPDF?
Yes, by using a loop to iterate over all RTF files in a directory, you can convert each file to a PDF with IronPDF, ensuring you manage a single `ChromePdfRenderer` instance for efficiency.

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.