如何在IronPDF C#中将RTF转换为PDF
IronPDF使用PdfDocument。
RTF(富文本格式)是微软在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,或在代码中组装的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}给合并结果中的页面编号。
如何从Web端点返回转换后的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 有哪些好处?
using IronPDF 将 RTF 转换为 PDF 有几个好处:跨平台的易访问性、压缩功能、打印优化、无论查看设备如何都能保持一致的文档外观、增强的安全功能以及专业的文档分发准备。
我能否在转换后的 PDF 中添加页眉、页脚和页码?
是的,IronPDF 在将 RTF 转换为 PDF 时支持全部 RenderingOptions。您可以应用文本和 HTML 页眉和页脚,添加页码,实现文本和图像戳记,以及自定义页面大小和方向。
从 RTF 转换为 PDF 后,是否可以对 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 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。