使用C#实现将RTF文档转换为PDF格式

 更新时间:2026年01月09日 08:20:38   作者:m5655bj  
RTF作为跨平台富文本格式,常用于文档编辑与数据交换,本文将介绍C#如何使用免费库 Free Spire.Doc for .NET 实现该转换过程,感兴趣的小伙伴可以了解下

RTF(Rich Text Format)作为跨平台富文本格式,常用于文档编辑与数据交换,而 PDF 因格式稳定、跨设备兼容性强,更适合文档分发和归档。在 .NET 开发中,实现 RTF 到 PDF 的转换是常见需求,本文将介绍如何使用免费库 Free Spire.Doc for .NET 实现该转换过程。

安装: Free Spire.Doc 是一款支持 RTF、Word 等文档的格式转换的免费 .NET 库 (有篇幅限制),可直接通过 NuGet 包管理器安装:

Install-Package FreeSpire.Doc

RTF 转 PDF 核心实现代码

场景1:单个RTF文件转换为PDF(基础版)

核心逻辑为“加载RTF文件 → 保存为PDF格式”,代码简洁易实现:

using System;
using Spire.Doc;

namespace RtfToPdfConverter
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // 初始化Document对象
                Document document = new Document();

                // 加载本地RTF文件(替换为实际文件路径)
                string rtfFilePath = @"C:\Files\test.rtf";
                document.LoadFromFile(rtfFilePath, FileFormat.Rtf);

                // 保存为PDF文件(替换为输出路径)
                string pdfFilePath = @"C:\Files\test.pdf";
                document.SaveToFile(pdfFilePath, FileFormat.Pdf);

                // 释放资源
                document.Close();

                Console.WriteLine("RTF转PDF成功!输出路径:" + pdfFilePath);
            }
            catch (Exception ex)
            {
                Console.WriteLine("转换失败:" + ex.Message);
            }
        }
    }
}

场景2:批量转换RTF文件(进阶版)

针对多文件转换场景,可遍历指定目录下的RTF文件批量处理:

using System;
using System.IO;
using Spire.Doc;

namespace BatchRtfToPdfConverter
{
    class Program
    {
        static void Main(string[] args)
        {
            // 源RTF文件目录、PDF输出目录(替换为实际路径)
            string sourceDir = @"C:\Files\RTF_Source";
            string outputDir = @"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;
                }

                // 批量转换
                int successCount = 0;
                foreach (string rtfFile in rtfFiles)
                {
                    try
                    {
                        Document document = new Document();
                        document.LoadFromFile(rtfFile, FileFormat.Rtf);

                        // 生成同名PDF文件
                        string fileName = Path.GetFileNameWithoutExtension(rtfFile);
                        string pdfFile = Path.Combine(outputDir, $"{fileName}.pdf");

                        document.SaveToFile(pdfFile, FileFormat.Pdf);
                        document.Close();

                        successCount++;
                        Console.WriteLine($"成功转换:{rtfFile} → {pdfFile}");
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine($"转换失败 {rtfFile}:{ex.Message}");
                    }
                }

                Console.WriteLine($"\n批量转换完成!成功:{successCount} 个,失败:{rtfFiles.Length - successCount} 个");
            }
            catch (Exception ex)
            {
                Console.WriteLine("批量转换异常:" + ex.Message);
            }
        }
    }
}

常见问题与解决方案

问题1:加载 RTF 文件时报错

  • 可能原因:文件路径错误/文件损坏
  • 解决方案:检查路径正确性,验证 RTF 文件可正常打开

转换后 PDF 格式错乱

  • 可能原因:RTF 含特殊格式/字体
  • 解决方案:确保运行环境安装了 RTF 中使用的字体

Free Spire.Doc for .NET 为 RTF 到 PDF 的转换提供了可行的免费解决方案,适合文档规模较小、基础转换场景。

到此这篇关于使用C#实现将RTF文档转换为PDF格式的文章就介绍到这了,更多相关C# RTF转PDF内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解C# WinForm如何实现自动更新程序

    详解C# WinForm如何实现自动更新程序

    在C/S这种模式中,自动更新程序就显得尤为重要,它不像B/S模式,直接发布到服务器上,浏览器点个刷新就可以了。本文就为大家准备了WinForm实现自动更新程序的示例代码,需要的可以参考一下
    2022-10-10
  • 服务器端C#实现的CSS解析器

    服务器端C#实现的CSS解析器

    服务器端C#实现的CSS解析器
    2008-09-09
  • 基于C# winform实现图片上传功能的方法

    基于C# winform实现图片上传功能的方法

    这篇文章主要介绍了基于C# winform实现图片上传功能的方法,很实用的功能,需要的朋友可以参考下
    2014-07-07
  • c#中string的特性介绍及注意事项小结

    c#中string的特性介绍及注意事项小结

    这篇文章主要给大家介绍了关于c#中string的特性介绍及注意事项的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • C#调用WinRar执行rar、zip压缩的方法

    C#调用WinRar执行rar、zip压缩的方法

    这篇文章主要介绍了C#调用WinRar执行rar、zip压缩的方法,涉及C#针对winrar的判断与调用技巧,需要的朋友可以参考下
    2015-05-05
  • C#实现.NET Core大文件上传的全面指南

    C#实现.NET Core大文件上传的全面指南

    随着互联网应用的不断发展,大文件上传需求在Web应用中越来越普遍,在.NET Core环境下,实现高效、稳定的大文件上传是许多开发者的挑战,本文将通过一个实际的示例,深入探讨如何在C#和.NET Core下实现大文件上传,需要的朋友可以参考下
    2025-07-07
  • 解读封送类、结构体和联合体实例

    解读封送类、结构体和联合体实例

    本文主要介绍了.NETFramework中类、结构体和联合体的封送处理,包括类通过COM互操作封送为接口、结构体通过StructLayoutAttribute属性指定布局和封送方式,以及联合体通过StructLayout(LayoutKind.Explicit)和FieldOffset特性精确控制内存布局
    2025-01-01
  • c#与js随机数生成方法

    c#与js随机数生成方法

    这篇文章主要介绍了c#与js随机数生成方法,实例分析了C#与js生成随机数的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • c# 常见文件路径Api的使用示例

    c# 常见文件路径Api的使用示例

    c#编程中经常有遇到要处理文件路径的需求,本文分别讲述了如何从程序下面的文件和临时目录下的文件去使用路径api,感兴趣的朋友可以了解下
    2021-05-05
  • 解析C#中的私有构造函数和静态构造函数

    解析C#中的私有构造函数和静态构造函数

    这篇文章主要介绍了C#中的私有构造函数和静态构造函数,是C#入门学习中的基础知识,需要的朋友可以参考下
    2016-01-01

最新评论