Convert Rich Text Format to PDF in C
IronPDF 讓您僅需兩行程式碼,即可在 C# 中將 RTF 文件無縫轉換為 PDF,同時支援 RTF 字串與檔案,並保留格式、字型及樣式,以確保跨平台文件顯示的一致性。
RTF 代表 Rich Text Format(富文本格式),是由 Microsoft 開發的文件檔案格式。 它支援字型、樣式和圖片等文字格式,但功能不如 DOCX 或 PDF 等其他文件格式豐富。 此格式於 1987 年問世,因其純文字特性及內嵌的格式化指令,已成為跨平台文件交換的標準。
IronPDF 可將來自字串和檔案的 RTF 格式轉換為 PDF。 將 RTF 轉換為 PDF 具備多項優勢,包括易於存取、壓縮功能以及列印最佳化。 這可確保文件在所有平台上保持一致的外觀、維持安全性,並具備直接列印的準備狀態。 與 RTF 檔案不同,PDF 檔案無論在何種檢視裝置或作業系統上,都能維持完全相同的版面配置,因此非常適合用於 Professional 文件的發行。
快速入門:使用 IronPDF 將 RTF 轉換為 PDF
立即開始使用 IronPDF 將 RTF 檔案轉換為高品質的 PDF 檔案。 只需兩行程式碼,即可將富文字格式 (RTF) 文件轉換為安全且符合無障礙標準的 PDF 檔案,隨時可供分發與列印。 IronPDF 提供簡便的 RTF 轉 PDF 轉換方法,確保能無縫整合至您的 .NET C# 專案中。
簡化工作流程(5 個步驟)
- 下載用於將 RTF 轉換為 PDF 的 C# 函式庫
- 請準備您要轉換的 RTF 檔案或字串
- 請使用
RenderRtfStringAsPdf方法將 RTF 字串轉換為 - 請使用
RenderRtfFileAsPdf方法將 RTF 檔案轉換為 - 檢視生成的 PDF 文件
如何將 RTF 字串轉換為 PDF?
using RenderRtfStringAsPdf 方法將 RTF 字串轉換為 PDF 文件。 RenderingOptions 的完整功能,例如套用文字與 HTML 頁首及頁尾、文字與圖片浮水印、頁碼編排、自訂頁面尺寸與方向等,亦適用於此渲染方式。 生成 PDF 文件後,您可以執行 PDF 頁面操作,例如合併、分割,以及套用 Annotations 和 Bookmarks。
為何使用 RTF 字串轉換而非檔案轉換?
RTF 字串轉換在處理動態生成的內容,或從資料庫、API 或使用者輸入接收 RTF 資料時,特別有用。 此方法無需建立臨時檔案,並能為網頁應用程式提供更佳的效能。 此外,基於字串的轉換機制,可讓使用者在轉換前更輕鬆地處理及預處理 RTF 內容。
: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")
RTF 字串轉換有哪些常見的應用情境?
RTF 字串轉換常見於以下情境:
- 電子郵件範本:將 RTF 格式的電子郵件正文轉換為 PDF 格式以供歸檔
- 資料庫報表:將儲存於資料庫中的 RTF 資料轉換為可列印的 PDF 檔案
- 動態文件生成:即時將使用者產生的 RTF 內容轉為 PDF 檔案
- API 整合:將外部服務傳回的 RTF 回應轉換為 PDF 格式
若需處理更進階的文件生成情境,請探索將 DOCX 轉換為 PDF 或生成 PDF 報告的功能。
如何套用額外的格式設定選項?
IronPDF 透過 RenderingOptions 類別提供廣泛的自訂選項。 設定頁面方向、邊距、紙張尺寸等:
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")
如何將 RTF 檔案轉換為 PDF?
若要將 RTF 檔案轉換為 PDF,請使用 RenderRtfFileAsPdf 方法。 請從提供的連結下載範例 RTF 檔案。 此範例示範如何將該範例檔案轉換為 PDF 文件。 此方法同時支援絕對與相對檔案路徑,使其能靈活適應各種應用程式架構。
轉換前的 RTF 檔案長什麼樣子?
我需要什麼程式碼來轉換 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")
若要批次處理多個 RTF 檔案,請實作一個簡單的迴圈:
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
生成的 PDF 檔案會是什麼樣子?
轉換 RTF 檔案時常見哪些問題?
在將 RTF 檔案轉換為 PDF 時,您可能會遇到以下幾項常見挑戰:
如何為轉換後的 PDF 添加安全性?
將 RTF 檔案轉換為 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");
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")
如需更進階的安全設定選項,請參閱關於 PDF 權限與密碼的完整指南。
進階 RTF 轉 PDF 轉換技術
將多個 RTF 檔案合併為一個 PDF
處理多個 RTF 文件時,請將其合併為單一 PDF 檔案。 這對於製作全面的報告或文件套件特別有用:
using IronPdf;
using System.Co/llections.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.Co/llections.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
在網頁應用程式中整合 RTF 轉 PDF 功能
對於 ASP.NET 應用程式,IronPDF 可與您的網頁框架無縫整合。 以下是建立 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
如需更多網頁整合範例,請參閱"ASPX 轉 PDF"及"PDF 匯出"的教學指南。
準備好探索更多可能性了嗎? 請點此查看教學頁面:轉換 PDF
常見問題
如何在 C# 中將 RTF 檔案轉換為 PDF?
透過 IronPDF,您只需兩行程式碼,即可使用 RenderRtfFileAsPdf 方法將 RTF 檔案轉換為 PDF。只需建立一個 ChromePdfRenderer 實例,並傳入輸入檔案路徑呼叫 RenderRtfFileAsPdf 方法,最後使用 SaveAs 方法儲存結果即可。
我可以直接將 RTF 字串轉換為 PDF,而無需先將其儲存為檔案嗎?
是的,IronPDF 提供了 RenderRtfStringAsPdf 方法,可讓您將字串中的 RTF 內容直接轉換為 PDF 文件。這在處理動態生成的 RTF 內容或來自資料庫的資料時特別有用。
RTF 轉 PDF 的轉換過程會保留格式與樣式嗎?
是的,IronPDF 在轉換過程中會完整保留所有 RTF 格式,包括字型、樣式、圖片及版面配置。此轉換功能可確保您的文件在所有平台和裝置上皆能保持一致的外觀。
將 RTF 轉換為 PDF 有什麼好處?
using IronPDF 將 RTF 轉換為 PDF 具備多項優勢:跨平台易於存取、具備壓縮功能、列印最佳化、無論使用何種檢視裝置皆能保持文件外觀一致、強化安全性,以及具備 Professional 級文件發佈的準備就緒性。
我可以在轉換後的 PDF/A 中加入頁首、頁尾和頁碼嗎?
是的,IronPDF 在將 RTF 轉換為 PDF 時,支援完整的 RenderingOptions 功能。您可以套用文字和 HTML 頁首及頁尾、添加頁碼、實施文字和圖片浮水印,以及自訂頁面大小和方向。
從 RTF 轉換後,是否可以對 PDF 進行編輯?
當然可以!使用 IronPDF 將 RTF 檔案轉為 PDF 後,您可以執行各種頁面操作,包括合併與分割 PDF、旋轉頁面、添加註解,以及建立書籤。

