如何將RTF轉換成PDF在IronPDF C
IronPDF使用PdfDocument您可以儲存、加密或合併。
RTF(豐富文字格式)是Microsoft於1987年引入的一種文件格式。它將文字和格式命令(如字體、樣式、顏色和符號列表)儲存為純文字,這使其能夠在不同編輯器之間正常傳輸。 將RTF轉換為PDF可以讓您獲得一個固定布局的文件,該文件在任何裝置上看起來都一樣,可以設置密碼保護,並且準備列印或存檔。
快速入門:使用IronPDF將RTF轉換為PDF
在一次調用中將豐富文字格式文件渲染為PDF。 將RenderRtfFileAsPdf指向RTF路徑,然後儲存返回的文件。
最小工作流程 (5步)
- 下載用於將RTF轉PDF的C#程式庫
- 準備要轉換的RTF文件或字串
- 使用
RenderRtfStringAsPdf方法從RTF字串轉換 - 使用
RenderRtfFileAsPdf方法從RTF文件轉換 - 檢查生成的 PDF 文件
我如何將RTF字串轉換為PDF?
使用RenderRtfStringAsPdf方法將RTF字串轉換為PDF文件。 字串輸入適合在運行時構建的內容:從資料庫列提取的RTF,由API返回或在程式碼中組合的RTF,無需寫入或清理臨時文件。該方法返回一個PdfDocument,因此您可以繼續處理結果,應用頁眉和頁腳、合併頁面或新增註解和書籤。
: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")
輸出
我如何應用其他格式選項?
您用於HTML渲染的相同RenderingOptions應用於此。 在調用RenderRtfStringAsPdf之前,設置紙張方向、邊距和頁面大小在渲染器上:
:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-3.cs
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文件?
: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")
要轉換一個文件夾的文件,重用一個渲染器並迴圈遍歷這些文件:
:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-5.cs
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文件時有幾種情況需要注意:
我如何向轉換的PDF新增安全性?
渲染後,通過SecuritySettings設置擁有者密碼、使用者密碼以及複製和列印權限來鎖定文件:
:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-6.cs
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");
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.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來合併它們。 這樣就從多個源文件中建立了一個可交付的成果,例如報告的章節:
:path=/static-assets/pdf/content-code-examples/how-to/rtf-to-pdf-7.cs
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();
}
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 across the merged document
mergedPdf.AddTextFooters(New TextHeaderFooter With {
.CenterText = "Page {page} of {total-pages}",
.FontSize = 12
})
' Save combined document
mergedPdf.SaveAs("combined_document.pdf")
' Clean up individual PDFs
For Each pdf In pdfs
pdf.Dispose()
Next pdf
腳註佔位符{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");
}
[HttpGet]
public IActionResult ConvertRtfToPdf(string rtfContent)
{
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderRtfStringAsPdf(rtfContent);
return File(pdf.BinaryData, "application/pdf", "converted_document.pdf");
}
<HttpGet>
Public Function ConvertRtfToPdf(rtfContent As String) As IActionResult
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderRtfStringAsPdf(rtfContent)
Return File(pdf.BinaryData, "application/pdf", "converted_document.pdf")
End Function
總結
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、旋轉頁面、新增註釋以及實現書籤。

