news 2026/10/13 7:38:30

如何通过 C# 将 TXT 文本转换为 PDF

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何通过 C# 将 TXT 文本转换为 PDF

在日常开发和办公场景中,将纯文本(TXT)格式转换为 PDF 格式是常见需求。PDF 格式具备跨平台、格式稳定、不易篡改的特性,而 TXT 则更侧重内容存储,二者的格式转换能兼顾内容可读性与传播规范性。本文将介绍如何通过 C# 和 .NET 免费库实现 TXT 到 PDF 的转换。


一、环境准备

1. 核心库介绍

Free Spire.PDF for .NET 是一款免费的 PDF 操作类库,提供了 PDF 文档创建、编辑、格式转换等基础功能。需要注意的是,该免费版存在一定限制(如单文档转换页数上限),但完全满足 TXT 转 PDF 的基础需求。

2. 环境配置

  • 开发环境:Visual Studio 或其他 C# IDE;
  • 库安装:通过 NuGet 包管理器安装 Free Spire.PDF,执行以下 NuGet 命令:
    Install-Package FreeSpire.PDF

二、TXT 转 PDF 核心实现步骤

TXT 纯文本转 PDF 的核心逻辑可拆解为「读取 TXT 内容→创建 PDF 载体→设置文本渲染格式→将文本绘制到 PDF→保存 PDF 文件」五个步骤,以下是完整实现代码及分步解析。

1. 完整实现代码

usingSpire.Pdf;usingSpire.Pdf.Graphics;usingSystem.Drawing;usingSystem.IO;namespaceConvertTextToPdf{classProgram{staticvoidMain(string[]args){try{// 1. 读取TXT文本文件内容stringtxtFilePath=@"Input.txt";stringtextContent=File.ReadAllText(txtFilePath,System.Text.Encoding.UTF8);// 2. 创建PDF文档实例并添加空白页面PdfDocumentpdfDocument=newPdfDocument();PdfPageBasepdfPage=pdfDocument.Pages.Add();// 默认A4页面// 3. 配置PDF文本渲染的字体PdfTrueTypeFontpdfFont=newPdfTrueTypeFont("宋体",18f,PdfFontStyle.Bold,true);// 4. 配置文本布局规则PdfTextLayouttextLayout=newPdfTextLayout();textLayout.Break=PdfLayoutBreakType.FitPage;// 内容适配页面textLayout.Layout=PdfLayoutType.Paginate;// 内容超出时自动分页// 5. 配置文本格式PdfStringFormattextFormat=newPdfStringFormat();textFormat.Alignment=PdfTextAlignment.Justify;// 文本两端对齐textFormat.LineSpacing=20f;// 设置行间距// 6. 创建文本渲染组件并绑定格式PdfTextWidgettextWidget=newPdfTextWidget(textContent,pdfFont,PdfBrushes.Black);textWidget.StringFormat=textFormat;// 7. 定义文本渲染区域RectangleFrenderBounds=newRectangleF(newPointF(10,25),newSizeF(pdfPage.Canvas.ClientSize.Width-20,pdfPage.Canvas.ClientSize.Height-30));// 8. 将文本绘制到PDF页面textWidget.Draw(pdfPage,renderBounds,textLayout);// 9. 保存PDF文件pdfDocument.SaveToFile("TextToPdf.pdf",FileFormat.PDF);// 释放资源pdfDocument.Close();Console.WriteLine("TXT转PDF成功!");}catch(IOExceptionex){Console.WriteLine("文件操作异常:"+ex.Message);}catch(Exceptionex){Console.WriteLine("转换失败:"+ex.Message);}}}}

2. 代码关键解析

(1)读取 TXT 内容
使用File.ReadAllText读取文本文件,建议显式指定编码(如UTF-8) —TXT 文件的默认编码可能因系统而异,未指定编码易导致中文等字符乱码。

(2)PDF 文档与页面创建
PdfDocument是整个 PDF 文档的核心实例,pdfDocument.Pages.Add()会创建一个默认 A4 尺寸的空白页面,也可通过重载方法自定义页面大小(如 A3、自定义尺寸)。

(3)文本格式与布局配置

  • PdfTrueTypeFont:定义字体、字号和样式;
  • PdfTextLayout:设置Paginate可实现「文本超出单页时自动新建页面」,避免内容被截断;
  • PdfStringFormat:配置文本对齐方式(左对齐、居中、两端对齐)和行间距,提升 PDF 可读性;
  • RectangleF:定义文本在页面中的渲染区域,预留边距避免文本紧贴页面边缘。

(4)文本绘制与 PDF 保存
PdfTextWidget是文本渲染的核心组件,通过Draw方法将文本绘制到指定页面和区域;最终通过SaveToFile保存 PDF 文件,支持指定保存路径。


本文展示的 C# TXT 文本转 PDF 方案,为中小型项目提供了代码量少,且无需依赖第三方工具(如Office、WkHtmlToPdf)的实用解决方案。通过合理的配置和优化,该方案能够满足大部分基础转换需求。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/10 9:00:59

开发智能体调试与预览---真机测试

1、开发者可在智能体调试与预览区域,点击真机测试图标-点击【白名单】跳转至智能体白名单配置页面。 2、勾选用于测试的群组,点击屏幕左侧【编排】返回智能体编排页面进行真机测试发布。若无可用真机调试用户组,开发者需要创建一个用户组并添…

作者头像 李华
网站建设 2026/10/12 5:28:33

【必藏】基于RAG技术的智能客服系统业务架构图详解

本文详细介绍了基于RAG技术的智能客服系统业务架构图,展示了客服用户、知识管理员和系统管理员三大角色及其交互用例。系统包含用户查询、知识检索与生成、知识库更新、系统配置和性能监控五大功能模块,其中知识检索与生成模块采用RAG技术从本地知识库检…

作者头像 李华
网站建设 2026/10/10 23:05:41

SGMICRO圣邦微 SGM61630BXPS8G/TR SOIC-8(Exposed Pad) 线性稳压器(LDO)

特性• 4.3V 至 60V 输入范围 • 3A 连续输出电流 • 超低 50μA 工作静态电流 • 140mΩ 高侧 MOSFET • 最小开启时间:100ns • 电流模式控制 • SGM61630A:软启动版本 • SGM61630B:电源良好版本 • 可调开关频率从 200kHz 到 2500kHz • …

作者头像 李华
网站建设 2026/10/10 9:01:03

频繁跳槽真的比稳定工作的人差吗?

前几日在在电梯里听见的谈论: “你这几年换了三份工作啊?” “嗯。” “厉害……也有点飘。” 电梯门一合,扣好“草率”的标签,一整天都刮着风。 与其争辩,不如换个叙述方式。今天不讲数据,讲一个三幕小剧…

作者头像 李华