Como converter RTF para PDF usando C# | IronPDF

Como Converter PDF a partir de Rich Text Format (RTF) em C

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

O IronPDF permite converter PDF a partir de documentos RTF em C# com apenas duas linhas de código, suportando tanto strings quanto arquivos RTF, preservando a formatação, as fontes e os estilos para uma exibição consistente do documento em diversas plataformas.

RTF significa Rich Text Format, um formato de arquivo de documento desenvolvido pela Microsoft. Ele suporta formatação de texto, como fontes, estilos e imagens, mas é menos rico em recursos do que outros formatos de documento, como DOCX ou PDF. O formato foi introduzido em 1987 e tornou-se um padrão para troca de documentos entre plataformas devido à sua natureza de texto simples com comandos de formatação incorporados.

O IronPDF converte arquivos RTF, tanto strings quanto arquivos físicos, para PDF. Converter RTF para PDF oferece diversas vantagens, incluindo fácil acesso, capacidade de compressão e otimização de impressão. Isso garante que os documentos mantenham uma aparência consistente em todas as plataformas, permaneçam seguros e estejam prontos para impressão. Ao contrário dos arquivos RTF, os PDFs mantêm seu layout exato independentemente do dispositivo de visualização ou do sistema operacional, tornando-os ideais para a distribuição profissional de documentos.

Início Rápido: Converter PDF a partir de RTF com o IronPDF

Comece a converter arquivos RTF em PDFs de alta qualidade usando o IronPDF. Com apenas duas linhas de código, transforme documentos em formato Rich Text Format em PDFs seguros e acessíveis, prontos para distribuição e impressão. O IronPDF oferece um método simples para conversão de RTF para PDF, garantindo integração perfeita em seus projetos .NET C#.

  1. Instale IronPDF com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronPdf
  2. Copie e execute este trecho de código.

    new IronPdf.ChromePdfRenderer()
         .RenderRtfFileAsPdf("input.rtf")
         .SaveAs("output.pdf");
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita

    arrow pointer


Como faço para converter uma string RTF em PDF?

Use o método RenderRtfStringAsPdf para transformar uma string RTF em um documento PDF. A gama completa de opções de renderização (RenderingOptions) , como a aplicação de cabeçalhos e rodapés de texto e HTML , carimbo de texto e imagem , numeração de páginas , tamanhos e orientações de página personalizados, também é aplicável a este método de renderização. Após gerar o documento PDF, você pode realizar manipulações nas páginas, como mesclar, dividir e girar páginas, além de aplicar anotações e marcadores .

Por que usar a conversão de strings RTF em vez da conversão de arquivos?

A conversão de strings RTF é particularmente útil ao trabalhar com conteúdo gerado dinamicamente ou ao receber dados RTF de bancos de dados, APIs ou entrada do usuário. Essa abordagem elimina a necessidade de criação de arquivos temporários e proporciona melhor desempenho em aplicações web. Além disso, a conversão baseada em strings permite uma manipulação e pré-processamento mais fáceis do conteúdo RTF antes da conversão.

: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

Quais são os casos de uso comuns para a conversão de strings RTF?

A conversão de strings RTF é comumente usada em cenários como:

  • Modelos de e-mail : Convertendo corpos de e-mail em formato RTF para PDF para arquivamento
  • Relatórios de banco de dados : Transformando dados RTF armazenados em bancos de dados em PDFs imprimíveis
  • Geração dinâmica de documentos : Criação de PDFs a partir de conteúdo RTF gerado pelo usuário em tempo real.
  • Integração de API : Processamento de respostas RTF de serviços externos para o formato PDF

Para cenários mais avançados de geração de documentos, explore a conversão de DOCX para PDF ou a geração de relatórios em PDF .

Como posso aplicar opções de formatação adicionais?

O IronPDF oferece amplas opções de personalização através da classe RenderingOptions. Configure a orientação da página, as margens, o tamanho do papel e muito mais:

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");
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;}}" & vbCrLf &
                    "{\colortbl;\red255\green0\blue0;\red0\green0\blue255;}" & vbCrLf &
                    "\f0\fs24 This is a heading\line" & vbCrLf &
                    "\f1\fs20\cf1 This text is red\line" & vbCrLf &
                    "\cf2 This text is blue\line" & vbCrLf &
                    "\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

Para obter mais informações sobre como personalizar margens e layouts de página, consulte os guias sobre margens personalizadas e tamanhos de papel personalizados .

Como faço para converter um arquivo RTF em PDF?

Para transformar um arquivo RTF em um PDF, use o método RenderRtfFileAsPdf. Faça o download de um arquivo RTF de exemplo a partir do link fornecido. Este exemplo demonstra como converter esse arquivo de amostra em um documento PDF. O método aceita caminhos de arquivo absolutos e relativos, tornando-o flexível para diversas arquiteturas de aplicativos.

Qual é a aparência do arquivo RTF antes da conversão?

O Microsoft Word exibe um arquivo RTF com exemplos de texto formatado, incluindo negrito, itálico, marcadores e sublinhado.

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

Para processar vários arquivos RTF em lote, implemente um loop simples:

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

Qual é a aparência do PDF gerado?

Quais são os problemas mais comuns na conversão de arquivos RTF?

Ao converter arquivos RTF para PDF, você pode encontrar vários desafios comuns:

  1. Compatibilidade de fontes : Certifique-se de que as fontes usadas no arquivo RTF estejam instaladas no sistema. Para servidores web ou implantações em nuvem, consulte os guias sobre gerenciamento de fontes e fontes da web .
  2. Manipulação de Arquivos Grandes : Para documentos RTF grandes, implemente a conversão assíncrona para evitar o bloqueio da thread principal do seu aplicativo.
  3. Uso de memória : Ao processar vários arquivos, descarte adequadamente os objetos PdfDocument para evitar vazamentos de memória. Aprenda sobre compressão de PDF para reduzir o tamanho dos arquivos de saída.
  4. Caracteres especiais : Garanta a codificação adequada para caracteres internacionais consultando o guia sobre suporte a UTF-8 .

Como posso adicionar segurança ao PDF convertido?

Após converter seu arquivo RTF para PDF, reforce a segurança adicionando senhas e permissões:

using IronPdf;
using IronPdf.Security;

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

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

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

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

// Apply security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("owner_password");
pdf.SecuritySettings.SetUserPassword("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.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("owner_password")
pdf.SecuritySettings.SetUserPassword("user_password")
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint

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

Para opções de segurança mais avançadas, explore o guia completo sobre permissões e senhas de PDF .

Técnicas avançadas de conversão de RTF para PDF

Combinando vários arquivos RTF em um único PDF

Ao trabalhar com vários documentos RTF, combine-os em um único PDF. Isso é particularmente útil para criar relatórios abrangentes ou pacotes de documentos:

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
for (int i = 0; i < mergedPdf.PageCount; i++)
{
    mergedPdf.AddTextFooter($"Page {i + 1} of {mergedPdf.PageCount}", 
        FontFamily.Arial, 12);
}

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

// Clean up individual PDFs
foreach (var pdf in pdfs)
{
    pdf.Dispose();
}
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
for (int i = 0; i < mergedPdf.PageCount; i++)
{
    mergedPdf.AddTextFooter($"Page {i + 1} of {mergedPdf.PageCount}", 
        FontFamily.Arial, 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
For i As Integer = 0 To mergedPdf.PageCount - 1
    mergedPdf.AddTextFooter($"Page {i + 1} of {mergedPdf.PageCount}", FontFamily.Arial, 12)
Next

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

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

Integração da conversão de RTF para PDF em aplicações web

Para aplicações ASP.NET , o IronPDF integra-se perfeitamente com sua estrutura web. Aqui está um exemplo de como criar um endpoint para download de PDF:

[HttpGet]
public IActionResult ConvertRtfToPdf(string rtfContent)
{
    // Create renderer
    ChromePdfRenderer renderer = new ChromePdfRenderer();

    // Convert RTF string to PDF
    PdfDocument pdf = renderer.RenderRtfStringAsPdf(rtfContent);

    // Return as file download
    byte[] pdfBytes = pdf.BinaryData;
    return File(pdfBytes, "application/pdf", "converted_document.pdf");
}
[HttpGet]
public IActionResult ConvertRtfToPdf(string rtfContent)
{
    // Create renderer
    ChromePdfRenderer renderer = new ChromePdfRenderer();

    // Convert RTF string to PDF
    PdfDocument pdf = renderer.RenderRtfStringAsPdf(rtfContent);

    // Return as file download
    byte[] pdfBytes = pdf.BinaryData;
    return File(pdfBytes, "application/pdf", "converted_document.pdf");
}
<AttributeUsage(AttributeTargets.Method)>
Public Class HttpGetAttribute
    Inherits Attribute
End Class

<HttpGet>
Public Function ConvertRtfToPdf(rtfContent As String) As IActionResult
    ' Create renderer
    Dim renderer As New ChromePdfRenderer()

    ' Convert RTF string to PDF
    Dim pdf As PdfDocument = renderer.RenderRtfStringAsPdf(rtfContent)

    ' Return as file download
    Dim pdfBytes As Byte() = pdf.BinaryData
    Return File(pdfBytes, "application/pdf", "converted_document.pdf")
End Function
$vbLabelText   $csharpLabel

Para mais exemplos de integração web, consulte os tutoriais sobre ASPX para PDF e exportação de PDFs .

Pronto para ver o que mais você pode fazer? Confira a página de tutoriais aqui: Converter PDFs

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?

Sim, o IronPDF preserva toda a formatação RTF durante a conversão, incluindo fontes, estilos, imagens e layout. A conversão garante que seus documentos mantenham uma aparência consistente em todas as plataformas e dispositivos.

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.

Curtis Chau
Redator Técnico

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 ...

Leia mais
Pronto para começar?
Nuget Downloads 18,318,263 | Versão: 2026.4 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.