How to Convert RTF to PDF Using C# | IronPDF

Convert Rich Text Format to PDF in C

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

IronPDF umożliwia bezproblemową konwersję dokumentów RTF do PDF w C# za pomocą zaledwie dwóch linii kodu, obsługując zarówno ciągi RTF, jak i pliki, przy jednoczesnym zachowaniu formatowania, czcionek i stylów dla konsekwentnego wyświetlania dokumentów na różnych platformach.

RTF to skrót od Rich Text Format, formatu pliku dokumentu opracowanego przez Microsoft. Obsługuje formatowanie tekstu takie jak czcionki, style i obrazy, ale jest mniej bogaty w funkcje niż inne formaty dokumentów, takie jak DOCX czy PDF. Format został wprowadzony w 1987 roku i stał się standardem wymiany dokumentów między platformami ze względu na swoją naturę zwykłego tekstu z wbudowanymi poleceniami formatowania.

IronPDF konwertuje RTF z zarówno ciągów, jak i plików na PDF. Konwersja RTF do PDF oferuje kilka korzyści, w tym łatwą dostępność, możliwości kompresji i optymalizację druku. Zapewnia to, że dokumenty zachowują spójny wygląd na wszystkich platformach, pozostają bezpieczne i są gotowe do druku. W przeciwieństwie do plików RTF, PDF-y zachowują swoje dokładne ułożenie niezależnie od urządzenia wyświetlającego lub systemu operacyjnego, co czyni je idealnymi do profesjonalnej dystrybucji dokumentów.

Rozpoczęcie pracy: Konwersja RTF do PDF za pomocą IronPDF

Rozpocznij konwersję plików RTF do wysokiej jakości PDF-ów za pomocą IronPDF. Za pomocą zaledwie dwóch linii kodu, przekształć dokumenty Rich Text Format w bezpieczne, dostępne PDF-y gotowe do dystrybucji i drukowania. IronPDF zapewnia prostą metodę konwersji z RTF do PDF, zapewniając łatwą integrację z projektami .NET C#.

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf
  2. Skopiuj i uruchom ten fragment kodu.

    new IronPdf.ChromePdfRenderer()
         .RenderRtfFileAsPdf("input.rtf")
         .SaveAs("output.pdf");
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer


Jak skonwertować ciąg RTF na PDF?

Użyj metody RenderRtfStringAsPdf, aby przekształcić ciąg RTF w dokument PDF. Pełne możliwości RenderingOptions, takie jak zastosowanie nagłówków i stopek tekstowych oraz HTML, stemplowania tekstu i obrazu, numerowania stron, niestandardowych rozmiarów i orientacji stron, są również dostępne dla tej metody renderowania. Po wygenerowaniu dokumentu PDF, można dokonać modyfikacji stron PDF, takich jak łączenie, rozdzielanie i obracanie stron, a także stosowanie adnotacji i zakładek.

Dlaczego używać konwersji ciągu RTF zamiast konwersji pliku?

Konwersja ciągu RTF jest szczególnie przydatna podczas pracy z dynamicznie generowanymi treściami lub przy odbieraniu danych RTF z baz danych, API czy wejścia użytkownika. To podejście eliminuje potrzebę tworzenia tymczasowych plików i zapewnia lepszą wydajność w aplikacjach webowych. Dodatkowo, konwersja oparta na ciągach ułatwia manipulacje i wstępne przetwarzanie treści RTF przed konwersją.

: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

Jakie są powszechne przypadki użycia konwersji ciągu RTF?

Konwersja ciągu RTF jest powszechnie stosowana w scenariuszach takich jak:

  • Szablony e-maili: Konwersja ciał e-maili sformatowanych w RTF do PDF w celu archiwizacji
  • Raporty z bazy danych: Przekształcanie danych RTF przechowywanych w bazach danych w wydrukowalne PDF-y
  • Dynamiczne generowanie dokumentu: Tworzenie PDF-ów z zawartości RTF generowanej przez użytkowników w czasie rzeczywistym
  • Integracja API: Przetwarzanie odpowiedzi RTF z usług zewnętrznych na format PDF

Dla bardziej zaawansowanych scenariuszy generowania dokumentów, odkryj konwersję DOCX do PDF lub generowanie raportów PDF.

Jak można zastosować dodatkowe opcje formatowania?

IronPDF zapewnia szerokie możliwości dostosowywania poprzez klasę RenderingOptions. Skonfiguruj orientację strony, marginesy, rozmiar papieru i więcej:

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

Aby uzyskać więcej informacji na temat dostosowywania marginesów i układów strony, zobacz przewodniki na temat niestandardowych marginesów i niestandardowych rozmiarów papieru.

Jak skonwertować plik RTF na PDF?

Aby przekształcić plik RTF do PDF, użyj metody RenderRtfFileAsPdf. Pobierz przykładowy plik RTF z podanego linku. Ten przykład pokazuje, jak skonwertować przykładowy plik na dokument PDF. Metoda akceptuje zarówno ścieżki bezwzględne, jak i względne, co sprawia, że jest elastyczna dla różnych architektur aplikacji.

Jak wygląda plik RTF przed konwersją?

Microsoft Word wyświetla plik RTF z przykładami sformatowanego tekstu, włączając w to pogrubienie, kursywę, punktowane i podkreślone teksty

Jakiego kodu potrzeba do konwersji plików 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

Do przetwarzania wsadowego wielu plików RTF, zaimplementuj prostą pętlę:

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

Jak wygląda plik PDF z tłumaczeniem?

Jakie są powszechne problemy przy konwersji plików RTF?

Podczas konwersji plików RTF do PDF, można napotkać kilka powszechnych wyzwań:

  1. Zgodność czcionek: Upewnij się, że czcionki używane w pliku RTF są zainstalowane w systemie. W przypadku serwerów webowych lub wdrożeń chmurowych, zobacz przewodniki na temat zarządzania czcionkami i czcionek i ikon webowych.
  2. Obsługa dużych plików: W przypadku dużych dokumentów RTF, zaimplementuj asynchroniczną konwersję w celu uniknięcia blokowania głównego wątku aplikacji.
  3. Użycie pamięci: Podczas przetwarzania wielu plików, odpowiednio usuwaj obiekty PdfDocument, aby zapobiec wyciekom pamięci. Dowiedz się więcej o kompresji PDF, aby zmniejszyć rozmiary plików wyjściowych.
  4. Znaki specjalne: Upewnij się, że kodowanie międzynarodowych znaków jest prawidłowe, przeglądając przewodnik na temat obsługi UTF-8.

Jak można dodać bezpieczeństwo do skonwertowanego PDF-a?

Po skonwertowaniu pliku RTF do PDF, popraw bezpieczeństwo, dodając hasła i uprawnienia:

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

Dla bardziej zaawansowanych opcji bezpieczeństwa, odkryj szczegółowy przewodnik na temat uprawnień i haseł PDF.

Zaawansowane techniki konwersji RTF do PDF

Łączenie kilku plików RTF w jeden PDF

Pracując z kilkoma dokumentami RTF, połącz je w jeden PDF. Jest to szczególnie przydatne przy tworzeniu kompleksowych raportów lub pakietów dokumentów:

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

Integracja konwersji RTF do PDF w aplikacjach webowych

Dla aplikacji ASP.NET, IronPDF bezproblemowo integruje się z danym frameworkiem webowym. Oto przykład stworzenia punktu pobierania 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

Dla więcej przykładów integracji webowej, zobacz tutoriale na temat ASPX do PDF i eksportu PDF-ów.

Gotowy, aby sprawdzić, co jeszcze można zrobić? Sprawdź stronę tutorialu tutaj: Konwersja PDF-ów

Często Zadawane Pytania

How do I convert an RTF file to PDF in C#?

With IronPDF, you can convert an RTF file to PDF in just two lines of code using the RenderRtfFileAsPdf method. Simply create a ChromePdfRenderer instance and call RenderRtfFileAsPdf with your input file path, then save the result using SaveAs method.

Can I convert RTF strings directly to PDF without saving them as files first?

Yes, IronPDF provides the RenderRtfStringAsPdf method that allows you to convert RTF content from strings directly to PDF documents. This is particularly useful when working with dynamically generated RTF content or data from databases.

Does the RTF to PDF conversion preserve formatting and styles?

Yes, IronPDF preserves all RTF formatting during conversion, including fonts, styles, images, and layout. The conversion ensures that your documents maintain consistent appearance across all platforms and devices.

What are the benefits of converting RTF to PDF?

Converting RTF to PDF with IronPDF offers several benefits: easy accessibility across platforms, compression capabilities, printing optimization, consistent document appearance regardless of viewing device, enhanced security features, and professional document distribution readiness.

Can I add headers, footers, and page numbers to my converted PDF?

Yes, IronPDF supports the full range of RenderingOptions when converting RTF to PDF. You can apply text and HTML headers and footers, add page numbering, implement text and image stamping, and customize page sizes and orientations.

Is it possible to manipulate the PDF after converting from RTF?

Absolutely! After generating your PDF from RTF using IronPDF, you can perform various page manipulations including merging and splitting PDFs, rotating pages, adding annotations, and implementing bookmarks.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 18,135,201 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.