使用C#實現(xiàn)將RTF文檔轉換為PDF格式
RTF(Rich Text Format)作為跨平臺富文本格式,常用于文檔編輯與數據交換,而 PDF 因格式穩(wěn)定、跨設備兼容性強,更適合文檔分發(fā)和歸檔。在 .NET 開發(fā)中,實現(xiàn) RTF 到 PDF 的轉換是常見需求,本文將介紹如何使用免費庫 Free Spire.Doc for .NET 實現(xiàn)該轉換過程。
安裝: Free Spire.Doc 是一款支持 RTF、Word 等文檔的格式轉換的免費 .NET 庫 (有篇幅限制),可直接通過 NuGet 包管理器安裝:
Install-Package FreeSpire.Doc
RTF 轉 PDF 核心實現(xiàn)代碼
場景1:單個RTF文件轉換為PDF(基礎版)
核心邏輯為“加載RTF文件 → 保存為PDF格式”,代碼簡潔易實現(xiàn):
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";
// 檢查并創(chuàng)建輸出目錄
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 含特殊格式/字體
- 解決方案:確保運行環(huán)境安裝了 RTF 中使用的字體
Free Spire.Doc for .NET 為 RTF 到 PDF 的轉換提供了可行的免費解決方案,適合文檔規(guī)模較小、基礎轉換場景。
到此這篇關于使用C#實現(xiàn)將RTF文檔轉換為PDF格式的文章就介紹到這了,更多相關C# RTF轉PDF內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C#中通過Command模式實現(xiàn)Redo/Undo方案
這篇文章介紹了C#中通過Command模式實現(xiàn)Redo/Undo方案的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06
C# System.TypeInitializationException 異常處理方案
這篇文章主要介紹了C# System.TypeInitializationException 異常處理方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
C# Ado.net實現(xiàn)讀取SQLServer數據庫存儲過程列表及參數信息示例
這篇文章主要介紹了C# Ado.net實現(xiàn)讀取SQLServer數據庫存儲過程列表及參數信息,結合實例形式總結分析了C#針對SQLServer數據庫存儲過程及參數信息的各種常見操作技巧,需要的朋友可以參考下2019-02-02
C# WinForm程序處理后臺繁忙導致前臺控件假死現(xiàn)象解決方法
這篇文章主要介紹了C# WinForm程序處理后臺繁忙導致前臺控件假死現(xiàn)象解決方法,本文通過Application.DoEvents()解決這個問題,并講解了Application.DoEvents()的作用,需要的朋友可以參考下2015-06-06

