Convert Rich Text Format to PDF in C
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#.
-
Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf -
Skopiuj i uruchom ten fragment kodu.
new IronPdf.ChromePdfRenderer() .RenderRtfFileAsPdf("input.rtf") .SaveAs("output.pdf"); -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
Minimalny proces (5 kroków)
- Pobierz biblioteke C# do konwersji RTF na PDF
- Przygotuj plik lub ciag RTF, ktory chcesz skonwertować
- Uzyj metody
RenderRtfStringAsPdfdo konwersji z ciągu RTF - Uzyj metody
RenderRtfFileAsPdfdo konwersji z pliku RTF - Sprawdź wygenerowany dokument PDF
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")
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")
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?
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")
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
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ń:
- 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.
- Obsluga duzych plików: W przypadku duzych dokumentów RTF, zaimplementuj asynchroniczna konwersje w celu unikniecia blokowania głównego watku aplikacji.
- 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. - 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")
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
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
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.

