如何將RTF轉換成PDF在IronPDF C#
IronPDF使用PdfDocument您可以儲存、加密或合併。
RTF(豐富文字格式)是Microsoft於1987年引入的一種文件格式。它將文字和格式命令(如字體、樣式、顏色和符號列表)儲存為純文字,這使其能夠在不同編輯器之間正常傳輸。 將RTF轉換為PDF可以讓您獲得一個固定布局的文件,該文件在任何裝置上看起來都一樣,可以設置密碼保護,並且準備列印或存檔。
在一次調用中將豐富文字格式文件渲染為PDF。 將RenderRtfFileAsPdf指向RTF路徑,然後儲存返回的文件。
-
1Install IronPDF with NuGet Package Manager
-
2複製並運行這段程式碼片段。
new IronPdf.ChromePdfRenderer() .RenderRtfFileAsPdf("input.rtf") .SaveAs("output.pdf");C# -
3部署以在您的實時環境中測試
今天就開始在您的專案中使用IronPDF,透過免費試用
最小工作流程 (5步)
- 下載用於將RTF轉PDF的C#程式庫
- 準備要轉換的RTF文件或字串
- 使用
RenderRtfStringAsPdf方法從RTF字串轉換 - 使用
RenderRtfFileAsPdf方法從RTF文件轉換 - 檢查生成的 PDF 文件
我如何將RTF字串轉換為PDF?
使用RenderRtfStringAsPdf方法將RTF字串轉換為PDF文件。 字串輸入適合在運行時構建的內容:從資料庫列提取的RTF,由API返回或在程式碼中組合的RTF,無需寫入或清理臨時文件。該方法返回一個PdfDocument,因此您可以繼續處理結果,應用頁眉和頁腳、合併頁面或新增註解和書籤。
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")輸出
我如何應用其他格式選項?
您用於HTML渲染的相同RenderingOptions應用於此。 在調用RenderRtfStringAsPdf之前,設置紙張方向、邊距和頁面大小在渲染器上:
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;}}" & _
"{\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
Dim pdf As PdfDocument = renderer.RenderRtfStringAsPdf(rtf)
pdf.SaveAs("formattedRtfToPdf.pdf")欲了解更多頁面幾何的更精細控制,請參閱自定義邊距和自定義紙張尺寸指南。
輸出
我如何將RTF文件轉換為PDF?
將您的文件路徑傳遞給RenderRtfFileAsPdf。 該方法接受絕對路徑和相對路徑。 下載一個範例RTF文件隨著進行:sample.rtf。 下面的例子將該文件渲染為PDF。
輸入

我需要哪些程式碼來轉換RTF文件?
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")要轉換一個文件夾的文件,重用一個渲染器並迴圈遍歷這些文件:
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輸出
轉換RTF文件時有哪些常見問題?
渲染RTF文件時有幾種情況需要注意:
- 字體:RTF中命名的字體必須安裝在進行轉換的機器上,這在無頭伺服器和容器上最為重要。 字體管理指南介紹了在運行時註冊字體。
- 大型文件:將長文件用非同步API從請求執行緒中渲染,使應用程式保持響應。
- 國際字元:包含非拉丁文腳本的文件依賴於源RTF中的正確編碼和覆蓋這些字形的已安裝字體。
- 高級標記:巢狀表格和嵌入物件可能無法精確再現。 比較當文件依賴於它們時,輸出與源文件。
我如何向轉換的PDF新增安全性?
渲染後,通過SecuritySettings設置擁有者密碼、使用者密碼以及複製和列印權限來鎖定文件:
using IronPdf;
using IronPdf.Security;
// Convert RTF to PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderRtfFileAsPdf("confidential.rtf");
// Apply security settings
pdf.SecuritySettings.MakePdfDocumentReadOnly("owner_password");
pdf.SecuritySettings.UserPassword = "user_password";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
// Save secured PDF
pdf.SaveAs("secured_document.pdf");
PDF權限和密碼指南涵蓋了完整的一組限制選項。
我如何將多個RTF文件合併成一個PDF?
將每個RTF文件渲染為自己的PdfDocument.Merge來合併它們。 這樣就從多個源文件中建立了一個可交付的成果,例如報告的章節:
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 across the merged document
mergedPdf.AddTextFooters(new TextHeaderFooter
{
CenterText = "Page {page} of {total-pages}",
FontSize = 12
});
// Save combined document
mergedPdf.SaveAs("combined_document.pdf");
// Clean up individual PDFs
foreach (var pdf in pdfs)
{
pdf.Dispose();
}
腳註佔位符{total-pages}將頁面編號於合併結果。
我如何從網路端點返回轉換的PDF?
在ASP.NET中,在操作內渲染RTF並返回文件結果的位元組。 讀取File:
[HttpGet]
public IActionResult ConvertRtfToPdf(string rtfContent)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderRtfStringAsPdf(rtfContent);
return File(pdf.BinaryData, "application/pdf", "converted_document.pdf");
}
總結
IronPDF通過PdfDocument可插入程式庫的其餘部分進行布局、安全和合併。 從這裡開始,將RTF轉換與上述自定義邊距以及頁眉和頁腳配對,或移動到PDF轉換的完整列表。
常見問題
如何在C#中將RTF文件轉換為PDF?
使用IronPDF,您只需兩行程式碼即可使用RenderRtfFileAsPdf方法將RTF文件轉換為PDF。只需建立一個ChromePdfRenderer實例並調用RenderRtfFileAsPdf方法並指定輸入文件路徑,然後使用SaveAs方法保存結果。
我可以直接將RTF字串轉換成PDF而不必先保存為文件嗎?
可以,IronPDF提供了RenderRtfStringAsPdf方法,使您能夠將RTF來源於字串直接轉換為PDF文件。這在處理動態生成的RTF內容或來自資料庫的資料時特別有用。
RTF到PDF的轉換是否保留格式和樣式?
IronPDF通過其文件轉換路徑渲染RTF,因此像字體、樣式、顏色、粗體、斜體和簡單的項目符號清單等標準格式轉換相當可靠。較不常見的控制字、內嵌表格和嵌入式OLE物件可能無法完全正確來回轉換,因此當文件使用高級功能時,請檢查輸出。
將RTF轉換為PDF的好處是什麼?
使用IronPDF將RTF轉換為PDF具有以下幾個好處:跨平台的易於存取性、壓縮能力、列印優化、無論檢視裝置如何都能保持一致的文件外觀、增強的安全功能以及專業的文件分發準備。
我可以在轉換後的PDF中新增頁眉、頁腳和頁碼嗎?
可以,IronPDF在將RTF轉換為PDF時支持完整的RenderingOptions。您可以套用文字和HTML頁眉及頁腳、新增頁碼、實現文字和圖片水印,並自訂頁面尺寸和方向。
轉換自RTF的PDF可以進行操作嗎?
當然可以!使用IronPDF將RTF轉換為PDF後,您可以執行各種頁面操作,包括合併和拆分PDF、旋轉頁面、新增註釋以及實現書籤。
How can I return a converted PDF from a web endpoint using IronPDF?
In ASP.NET, you can convert RTF to PDF and return it from a web endpoint by reading the `PdfDocument`'s `BinaryData` and returning it in the `File` result of an action.
What should I do if my RTF file uses fonts not installed on my conversion machine?
Ensure that the required fonts are installed on the machine performing the conversion or use IronPDF's guides to register fonts at runtime when converting RTF to PDF.
How does IronPDF handle international characters in RTF conversion?
International characters in RTF documents require proper encoding in the source and a suitable font that supports the required glyphs during the conversion process.
Is there a way to convert all RTF files in a directory to PDFs in IronPDF?
Yes, by using a loop to iterate over all RTF files in a directory, you can convert each file to a PDF with IronPDF, ensuring you manage a single `ChromePdfRenderer` instance for efficiency.

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。