如何使用 C# 將 RTF 轉換為 PDF | 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只需兩行程式碼即可在 C# 中將 RTF 文件無縫轉換為 PDF,支援 RTF 字串和文件,同時保留格式、字體和樣式,以實現一致的跨平台文件顯示。

RTF 代表 Rich Text Format(富文本格式),是微軟開發的一種文件文件格式。 它支援字體、樣式和圖像等文字格式,但功能不如 DOCX 或 PDF 等其他文件格式豐富。 該格式於 1987 年推出,由於其純文字特性以及嵌入式格式化命令,已成為跨平台文件交換的標準。

IronPDF可以將字串和文件中的 RTF 格式轉換為 PDF 格式。 將 RTF 轉換為 PDF 具有許多優勢,包括易於存取、壓縮功能和列印最佳化。 這樣可以確保文件在所有平台上保持一致的外觀,保持安全,並可直接列印。 與 RTF 檔案不同,PDF 檔案無論在何種檢視裝置或作業系統上都能保持其精確的佈局,因此非常適合專業文件分發。

快速入門:使用IronPDF將 RTF 轉換為 PDF

使用IronPDF開始將 RTF 檔案轉換為高品質 PDF。 只需兩行程式碼,即可將富文本格式文件轉換為安全、易於存取的 PDF 文件,以便分發和列印。 IronPDF提供了一種簡單的 RTF 轉 PDF 轉換方法,確保與您的.NET C# 專案無縫整合。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 複製並運行這段程式碼。

    new IronPdf.ChromePdfRenderer()
         .RenderRtfFileAsPdf("input.rtf")
         .SaveAs("output.pdf");
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronPDF

    arrow pointer


如何將RTF字串轉換為PDF?

使用 RenderRtfStringAsPdf 方法將 RTF 字串轉換為 PDF 文件。 渲染選項的全部範圍,例如套用文字和 HTML 頁首和頁尾文字和圖像浮水印頁碼、自訂頁面大小和方向,也適用於此渲染方法。 產生 PDF 文件後,您可以執行 PDF 頁面操作,例如合併、分割和旋轉頁面,以及套用註解書籤

為什麼使用RTF字串轉換而不是檔案轉換?

當處理動態產生的內容或從資料庫、API 或使用者輸入接收 RTF 資料時,RTF 字串轉換特別有用。 這種方法無需建立臨時文件,並能為 Web 應用程式提供更好的效能。 此外,基於字串的轉換允許在轉換之前更輕鬆地對 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");
$vbLabelText   $csharpLabel

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

有關自訂頁邊距和頁面佈局的更多信息,請參閱自訂頁邊距自訂紙張尺寸指南。

如何將RTF檔案轉換為PDF?

若要將 RTF 檔案轉換為 PDF,請使用 RenderRtfFileAsPdf 方法。 從提供的鏈接下載範例 RTF 檔案。 本範例示範如何將該範例文件轉換為 PDF 文件。 該方法接受絕對檔案路徑和相對檔案路徑,使其能夠靈活地適應各種應用程式架構。

轉換前的RTF檔是什麼樣的?

Microsoft Word 顯示 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");
$vbLabelText   $csharpLabel

對於批量處理多個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);
}
$vbLabelText   $csharpLabel

輸出的PDF檔案是什麼樣子的?

轉換 RTF 檔案時常見的問題有哪些?

將 RTF 檔案轉換為 PDF 時,您可能會遇到以下幾個常見問題:

1.字體相容性:確保 RTF 檔案中使用的字體已安裝在系統中。 對於 Web 伺服器或雲端部署,請參閱有關管理字體Web 字體的指南。 2.大文件處理:對於大型 RTF 文檔,實現非同步轉換,以防止阻塞應用程式的主線程。 3.記憶體使用:處理多個檔案時,應正確釋放 PdfDocument 對象,以防止記憶體洩漏。 了解PDF壓縮技術,以減少輸出檔案的大小。 4.特殊字元:查看UTF-8 支援指南,確保國際字符的正確編碼。

如何為轉換後的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");
$vbLabelText   $csharpLabel

如需了解更多進階安全性選項,請參閱PDF 權限和密碼的綜合指南。

進階RTF轉PDF轉換技巧

將多個 RTF 檔案合併到一個 PDF 檔案中

處理多個 RTF 文件時,請將它們合併成一個 PDF 文件。 這對於建立綜合報告或文件包尤其有用:

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

在 Web 應用程式中整合 RTF 到 PDF 的轉換

對於ASP.NET應用程序, IronPDF可以與您的 Web 框架無縫整合。 以下是一個建立 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");
}
$vbLabelText   $csharpLabel

有關 Web 整合的更多範例,請參閱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 有什麼好處?

使用 IronPDF 將 RTF 轉換為 PDF 有幾個好處:容易跨平台存取、壓縮功能、列印最佳化、不論檢視裝置如何都能保持一致的文件外觀、增強的安全功能,以及專業的文件發行準備。

我可以在轉換後的 PDF 中加入頁眉、頁腳和頁碼嗎?

是的,IronPDF 在將 RTF 轉換為 PDF 時支援完整的 RenderingOptions。您可以套用文字與 HTML 標頭與頁尾,新增頁碼,實作文字與圖片戳記,以及自訂頁面大小與方向。

從 RTF 轉換成 PDF 後,是否可以操作 PDF?

絕對可以!使用 IronPDF 從 RTF 生成 PDF 後,您可以執行各種頁面處理,包括合併和分割 PDF、旋轉頁面、添加註釋和實現書籤。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 17,803,474 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想快速取得證據? PM > Install-Package IronPdf
運行範例看著你的HTML程式碼變成PDF檔。