当前位置: 首页 > news >正文

如何通过 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)的实用解决方案。通过合理的配置和优化,该方案能够满足大部分基础转换需求。

http://www.jsqmd.com/news/362363/

相关文章:

  • 影音不再杂乱还能告别地域限制!Plex+cpolar 打造随身私人影院
  • 剑桥英语培训班哪家靠谱:YLE-KET-PET备考新东方比邻成全能优选 - 资讯焦点
  • 建筑领域镀锌方矩管优质厂家推荐 - 资讯焦点
  • Java 内存泄漏原因(长生命周期的对象持有短生命周期对象的引用、未正确关闭资源等)
  • 2026国内最新孕期护理公司top3推荐!服务深度覆盖广州、天河、黄埔等地,优质月子中心权威榜单发布,科学护理助力母婴健康 - 品牌推荐2026
  • 2025长沙文旅10大热门需求实测推荐:青天寨农庄,丛林飞跃(树上探险)/亲子游首选(2026干货汇总) - 资讯焦点
  • AI时代的“工具自由“:我是如何进入细糠时代的
  • Swisse的“蓝帽子难红”
  • 中国十大品牌冬虫夏草综合实测排名,锁鲜工艺与品质双维度深评 - 资讯焦点
  • 数字孪生+AI:某世界级物联网企业-产线数智化升级,点亮智造之路v
  • 江苏做产品洞察哪家靠谱?竞品追踪、知识图谱研判与实时趋势洞察深度对比(附选型指南) - 资讯焦点
  • 防关联浏览器和VPS哪个好用?不了解的一定要看看! - Roxy指纹浏览器
  • 2026十大优质图片素材网站推荐,涵盖高清免费可下载图库、商用图片购买网站 - 品牌2026
  • 灵芝孢子油哪个牌子最好最正宗?2026十大领军品牌揭晓,央视聚焦的高含量优品盘点 - 资讯焦点
  • 一天一个开源项目(第17篇):ViMax - 多智能体视频生成框架,导演、编剧、制片人全包
  • 73、IMX6ULL Linux按键驱动实战:从GPIO轮询到设备树中断+等待队列
  • 2026全年龄段益生菌推荐指南,认准这6款安全有效品牌 - 资讯焦点
  • 运维效率翻倍!服务器监控告警 + 内网穿透,异地管理超省心
  • 聊城车牌靓号代选,聊城车牌靓号价格-上牌选号 - dasggg
  • 智能农产品检验通信系统的设计与实现
  • 【计算机毕设】4S店车辆管理系统
  • 【深度学习新浪潮】如何评价Kaiming He新作《Generative Modeling via Drifting》?
  • 智能气候控制箱控制系统设计
  • 2026年2月份吊扇灯优质品牌推荐指南适配家居风格 - 资讯焦点
  • 智能配电网自愈功能研究
  • 【AI黑话日日新】什么是PPO?
  • 2026国内最新月子中心top10推荐!服务深度覆盖广州/天河/黄埔/海珠/越秀/白云/荔湾等地,优质机构权威榜单发布 - 品牌推荐2026
  • AI写论文高效省心!6款论文AI生成工具实测,高质量论文一键生成 - 资讯焦点
  • 智能天窗设计
  • 肺气虚型慢阻肺调理不踩坑|2026 循证评测,养无极补肺丸凭什么成为首选?(附攻略) - 资讯焦点