RTF(Rich Text Format)作为跨平台富文本格式,常用于文档编辑与数据交换,而 PDF 因格式稳定、跨设备兼容性强,更适合文档分发和归档。在 .NET 开发中,实现 RTF 到 PDF 的转换是常见需求,本文将介绍如何使用免费库 Free Spire.Doc for .NET 实现该转换过程。
安装:Free Spire.Doc 是一款支持 RTF、Word 等文档的格式转换的免费 .NET 库 (有篇幅限制),可直接通过 NuGet 包管理器安装:
Install-Package FreeSpire.DocRTF 转 PDF 核心实现代码
场景1:单个RTF文件转换为PDF(基础版)
核心逻辑为“加载RTF文件 → 保存为PDF格式”,代码简洁易实现:
usingSystem;usingSpire.Doc;namespaceRtfToPdfConverter{classProgram{staticvoidMain(string[]args){try{// 初始化Document对象Documentdocument=newDocument();// 加载本地RTF文件(替换为实际文件路径)stringrtfFilePath=@"C:\Files\test.rtf";document.LoadFromFile(rtfFilePath,FileFormat.Rtf);// 保存为PDF文件(替换为输出路径)stringpdfFilePath=@"C:\Files\test.pdf";document.SaveToFile(pdfFilePath,FileFormat.Pdf);// 释放资源document.Close();Console.WriteLine("RTF转PDF成功!输出路径:"+pdfFilePath);}catch(Exceptionex){Console.WriteLine("转换失败:"+ex.Message);}}}}场景2:批量转换RTF文件(进阶版)
针对多文件转换场景,可遍历指定目录下的RTF文件批量处理:
usingSystem;usingSystem.IO;usingSpire.Doc;namespaceBatchRtfToPdfConverter{classProgram{staticvoidMain(string[]args){// 源RTF文件目录、PDF输出目录(替换为实际路径)stringsourceDir=@"C:\Files\RTF_Source";stringoutputDir=@"C:\Files\PDF_Output";// 检查并创建输出目录if(!Directory.Exists(outputDir)){Directory.CreateDirectory(outputDir);}try{// 获取目录下所有RTF文件string[]rtfFiles=Directory.GetFiles(sourceDir,"*.rtf");if(rtfFiles.Length==0){Console.WriteLine("源目录下未找到RTF文件!");return;}// 批量转换intsuccessCount=0;foreach(stringrtfFileinrtfFiles){try{Documentdocument=newDocument();document.LoadFromFile(rtfFile,FileFormat.Rtf);// 生成同名PDF文件stringfileName=Path.GetFileNameWithoutExtension(rtfFile);stringpdfFile=Path.Combine(outputDir,$"{fileName}.pdf");document.SaveToFile(pdfFile,FileFormat.Pdf);document.Close();successCount++;Console.WriteLine($"成功转换:{rtfFile}→{pdfFile}");}catch(Exceptionex){Console.WriteLine($"转换失败{rtfFile}:{ex.Message}");}}Console.WriteLine($"\n批量转换完成!成功:{successCount}个,失败:{rtfFiles.Length-successCount}个");}catch(Exceptionex){Console.WriteLine("批量转换异常:"+ex.Message);}}}}常见问题与解决方案
问题1:加载 RTF 文件时报错
- 可能原因:文件路径错误/文件损坏
- 解决方案:检查路径正确性,验证 RTF 文件可正常打开
转换后 PDF 格式错乱
- 可能原因:RTF 含特殊格式/字体
- 解决方案:确保运行环境安装了 RTF 中使用的字体
Free Spire.Doc for .NET 为 RTF 到 PDF 的转换提供了可行的免费解决方案,适合文档规模较小、基础转换场景。