Jak przekonwertowac RTF na PDF uzywajac 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 bezproblemowa konwersje dokumentów RTF do PDF w C# za pomoca zaledwie dwoch linii kodu, obslugujac zarowno ciagi RTF, jak i pliki, przy jednoczesnym zachowaniu formatowania, czcionek i stylow dla konsystentnego 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 niz inne formaty dokumentów, takie jak DOCX czy PDF. Format zostal wprowadzony w 1987 roku i stal sie standardem wymiany dokumentów miedzy platformami ze wzgledu na swoja nature zwyklego tekstu z wbudowanymi poleceniami formatowania.

IronPDF konwertuje RTF z zarowno ciagow, jak i plików na PDF. Konwersja RTF do PDF oferuje kilka korzysci, w tym łatwa dostępność, możliwosci kompresji i optymalizacje druku. Zapewnia to, ze dokumenty zachowuja spojny wyglad na wszystkich platformach, pozostaja bezpieczne i sa gotowe do druku. W przeciwienstwie do plików RTF, PDF-y zachowuja swoje dokładne ulozenie niezależnie od urządzeńia wyświetlajacego lub systemu operacyjnego, co czyni je idealnymi do profesjonalnej dystrybucji dokumentów.

Rozpoczecie pracy: Konwersja RTF do PDF za pomoca IronPDF

Rozpocznij konwersje plików RTF do wysokiej jakosci PDF-ow za pomoca IronPDF. Za pomoca zaledwie dwoch linii kodu, przeksztalc dokumenty Rich Text Format w bezpieczne, dostępne PDF-y gotowe do dystrybucji i drukowania. IronPDF zapewnia prosta metode konwersji z RTF do PDF, zapewniając łatwa integracje 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ć ciag RTF na PDF?

Użyj metody RenderRtfStringAsPdf, aby przekształcić ciąg znaków RTF w dokument PDF. Pełen zakres funkcji RenderingOptions, takich jak stosowanie nagłówków i stopek tekstowych oraz HTML, stemplowanie tekstu i obrazów, numeracja stron, niestandardowe rozmiary i orientacje stron, ma również zastosowanie w tej metodzie renderowania. Po wygenerowaniu dokumentu PDF można wykonywać operacje na stronach PDF, takie jak scalanie, dzielenie, a także stosowanie Annotations i Bookmarks.

Dłączego używać konwersji ciągu RTF zamiast konwersji pliku?

Konwersja ciągu RTF jest szczegółnie przydatna podczas pracy z dynamicznie generowanymi treściąmi lub przy odbieraniu danych RTF z baz danych, API czy wejscia użytkownika. To podejście eliminuje potrzebe tworzenia tymczasowych plików i zapewnia lepsza wydajność w aplikacjach webowych. Dodatkowo, konwersja oparta na ciagach ułatwia manipulacje i wstepne przetwarzanie treści RTF przed konwersja.

: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 sa powszechne przypadki użycia konwersji ciągu RTF?

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

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

Dla bardziej zaawansowanych scenariuszy generowania dokumentów, odkryj konwersje DOCX do PDF lub generowanie raportow PDF.

Jak mogę zastosować dodatkowe opcje formatowania?

IronPDF zapewnia szerokie możliwości dostosowywania poprzez klasę RenderingOptions. Skonfiguruj orientacje 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 marginesow i ukladow strony, zobacz przewodniki na temat niestandardowych marginesow i niestandardowych rozmiarow papieru.

Jak skonwertować plik RTF na PDF?

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

Jak wygląda plik RTF przed konwersja?

Microsoft Word wyświetla plik RTF z przykładami sformatowanego textu, włączajac w to pogrubienie, kursywe, punktorowane i podkreslone teksty

Jakiego kodu potrzebuje 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ą petle:

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 sa powszechne problemy przy konwersji plików RTF?

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

  1. Zgodnosc czcionek: Upewnij sie, ze czcionki używane w pliku RTF sa zainstalowane w systemie. W przypadku serwerow webowych lub wdrozen chmurowych, zobacz przewodniki na temat zarządzania czcionkami i czcionek i ikon webowych.
  2. Obsluga duzych plików: W przypadku duzych dokumentów RTF, zaimplementuj asynchroniczna konwersje w celu unikniecia blokowania głównego watku aplikacji.
  3. Wykorzystanie pamięci: Podczas przetwarzania wielu plików należy prawidłowo usuwać obiekty PdfDocument, aby zapobiec wyciekom pamięci. Dowiedz sie więcej o kompresji PDF, aby zmniejszyć rozmiary plików wyjsciowych.
  4. Znaki specjalne: Upewnij sie, ze kodowanie miedzynarodowych znakow jest prawidlowe, przeglądajac przewodnik na temat obsługi UTF-8.

Jak mogę dodac bezpieczeństwo do skonwertowanego PDF-a?

Po skonwertowaniu pliku RTF do PDF, popraw bezpieczeństwo dodajac hasla 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 uprawnien i hasel PDF.

Zaawansowane techniki konwersji RTF do PDF

Laczenie kilku plików RTF w jeden PDF

Pracujac z kilkoma dokumentami RTF, polacz je w jeden PDF. Jest to szczegółnie przydatne przy tworzeniu kompleksowych raportow lub pakietow 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 sie z twoim 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-ow.

Gotowy, aby sprawdzić, co jeszcze możesz zrobić? Sprawdz strone tutorialu tutaj: Konwersja PDF-ow

Często Zadawane Pytania

Jak przekonwertowac plik RTF do PDF w C#?

Dzieki IronPDF mozesz przekonwertowac plik RTF do PDF zaledwie dwoma liniami kodu, uzywajac metody RenderRtfFileAsPdf. Po prostu stworz instancje ChromePdfRenderer i wywolaj RenderRtfFileAsPdf z podana sciezka do pliku wejsciowego, a nastepnie zapisz wynik za pomoca metody SaveAs.

Czy moge przekonwertowac lancuchy RTF bezposrednio do PDF bez uprzedniego zapisywania ich jako plikow?

Tak, IronPDF udostepnia metode RenderRtfStringAsPdf, która pozwala na konwersje zawartosci RTF z lancuchow bezposrednio do dokumentow PDF. Jest to szczegolnie przydatne w pracy z dynamicznie generowana zawartoscia RTF lub danymi z baz danych.

Czy konwersja RTF na PDF zachowuje formatowanie i style?

Tak, IronPDF zachowuje całe formatowanie RTF podczas konwersji, w tym czcionki, style, obrazy i układ. Konwersja zapewnia, ze dokumenty zachowuja spojny wyglad na wszystkich platformach i urzadzeniach.

Jakie sa korzysci z konwersji RTF do PDF?

Konwersja RTF do PDF z IronPDF oferuje wiele korzysci: latwa dostepnosc na wielu platformach, mozliwosci kompresji, optymalizacje drukowania, spojny wyglad dokumentu niezaleznie od urzadzenia, zwiększone funkcje bezpieczeństwa oraz gotowość do profesjonalnej dystrybucji dokumentow.

Czy moge dodac naglowki, stopki i numery stron do przekonwertowanego PDF?

Tak, IronPDF wspiera pelny zakres RenderingOptions podczas konwersji RTF na PDF. Mozesz zastosowac naglowki i stopki tekstowe oraz HTML, dodac numeracje stron, zaimplementowac tekst i pieczecie obrazu oraz dostosowac rozmiary i orientacje stron.

Czy jest mozliwosc manipulacji PDF po jego konwersji z RTF?

Absolutnie! Po wygenerowaniu PDF z RTF za pomoca IronPDF, mozesz przeprowadzac rozne manipulacje stronami, w tym laczenie i dzielenie plikow PDF, obracanie stron, dodawanie adnotacji i implementowanie zakładek.

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,926,724 | Wersja: 2026.5 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.