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.
Início rápido: Converter RTF para PDF usando o IronPDF
Renderize um arquivo Rich Text Format para PDF em uma única chamada. Aponte RenderRtfFileAsPdf para o caminho RTF, depois salve o documento retornado.
-
Instale IronPDF com o Gerenciador de Pacotes NuGet
-
Copie e execute este trecho de código.
new IronPdf.ChromePdfRenderer() .RenderRtfFileAsPdf("input.rtf") .SaveAs("output.pdf"); -
Implante 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.
: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")
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:
: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")
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?
: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")
Para converter uma pasta de documentos, reutilize um renderizador e faça um loop sobre os arquivos:
: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
Saí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:
: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")
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:
: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
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");
}
[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
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.

