如何通过 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文本文件内容stringtxtFilePathInput.txt;stringtextContentFile.ReadAllText(txtFilePath,System.Text.Encoding.UTF8);// 2. 创建PDF文档实例并添加空白页面PdfDocumentpdfDocumentnewPdfDocument();PdfPageBasepdfPagepdfDocument.Pages.Add();// 默认A4页面// 3. 配置PDF文本渲染的字体PdfTrueTypeFontpdfFontnewPdfTrueTypeFont(宋体,18f,PdfFontStyle.Bold,true);// 4. 配置文本布局规则PdfTextLayouttextLayoutnewPdfTextLayout();textLayout.BreakPdfLayoutBreakType.FitPage;// 内容适配页面textLayout.LayoutPdfLayoutType.Paginate;// 内容超出时自动分页// 5. 配置文本格式PdfStringFormattextFormatnewPdfStringFormat();textFormat.AlignmentPdfTextAlignment.Justify;// 文本两端对齐textFormat.LineSpacing20f;// 设置行间距// 6. 创建文本渲染组件并绑定格式PdfTextWidgettextWidgetnewPdfTextWidget(textContent,pdfFont,PdfBrushes.Black);textWidget.StringFormattextFormat;// 7. 定义文本渲染区域RectangleFrenderBoundsnewRectangleF(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 文件的默认编码可能因系统而异未指定编码易导致中文等字符乱码。2PDF 文档与页面创建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的实用解决方案。通过合理的配置和优化该方案能够满足大部分基础转换需求。

相关新闻

数字孪生+AI:某世界级物联网企业-产线数智化升级,点亮智造之路v

数字孪生+AI:某世界级物联网企业-产线数智化升级,点亮智造之路v

设备监测|沙盒模拟|图模联动|产线巡检 某世界级物联网企业成立于1993年,截至2025年,该企业累计专利申请已超10万件。作为全球该产业领域的龙头企业,其核心产品在多个应用领域出货量多年稳居全球第一&#…

2026/7/3 19:46:18 阅读更多 →
震惊!大模型应用开发真相:越简单越稳定,收藏这篇避免踩坑!

震惊!大模型应用开发真相:越简单越稳定,收藏这篇避免踩坑!

大模型应用开发应遵循"越简单越好"原则。由于模型本身存在不稳定性和幻觉问题,复杂应用更容易出错。解决方案是在非关键环节使用模型提高效率,在关键环节采用workflow工作流机制确保稳定性。能简单解决的问题就不要用复杂技术,以此…

2026/7/5 12:55:11 阅读更多 →
CompTIA XK0-006 認證介紹|CompTIA Linux+ 最新考試內容、重點與備考全解析

CompTIA XK0-006 認證介紹|CompTIA Linux+ 最新考試內容、重點與備考全解析

隨著企業對於開源技術與自動化運維需求的日益增加,全球領先的 IT 認證機構 CompTIA 正式推出了 Linux 認證的最新版本:XK0-006。這項針對 Linux 系統管理員的專業認證,旨在應對現代雲端原生環境中日益複雜的基礎設施管理挑戰。XK0-006 不僅延…

2026/5/17 3:41:29 阅读更多 →

最新新闻

13DOF传感器与TM4C123的嵌入式定位导航系统设计

13DOF传感器与TM4C123的嵌入式定位导航系统设计

1. 项目背景与核心需求在智能硬件和机器人领域,精准的定位导航能力一直是技术突破的关键瓶颈。传统方案往往面临两个主要痛点:一是单一传感器(如GPS或IMU)在复杂环境中可靠性不足;二是低功耗微控制器难以承载多传感器数…

2026/7/6 7:27:09 阅读更多 →
如何用深蓝词库转换工具实现跨平台词库自由:完整新手指南

如何用深蓝词库转换工具实现跨平台词库自由:完整新手指南

如何用深蓝词库转换工具实现跨平台词库自由:完整新手指南 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 你是否曾经因为更换输入法而不得不放弃多年积累…

2026/7/6 7:27:09 阅读更多 →
BERT 与 3 种传统方法对比:情感多分类任务下的精度、速度与数据需求分析

BERT 与 3 种传统方法对比:情感多分类任务下的精度、速度与数据需求分析

BERT与传统方法在情感多分类任务中的全面对比:精度、效率与数据需求的深度解析情感分析作为自然语言处理(NLP)领域的核心任务之一,其技术演进直接反映了NLP方法论的发展轨迹。本文将聚焦情感多分类这一典型场景,系统对…

2026/7/6 7:25:09 阅读更多 →
OpenCV实战:从零搭建实时人脸识别系统,附完整代码与避坑指南

OpenCV实战:从零搭建实时人脸识别系统,附完整代码与避坑指南

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近在做一个智能门禁的小项目,需要用到实时人脸识别。本以为用现成的API就能搞定,结果发现对本地化部署、成本…

2026/7/6 7:21:08 阅读更多 →
明日方舟智能助手实战指南:5个核心技巧告别手动肝日常

明日方舟智能助手实战指南:5个核心技巧告别手动肝日常

明日方舟智能助手实战指南:5个核心技巧告别手动肝日常 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https://git…

2026/7/6 7:21:08 阅读更多 →
XTR116与STM32的4-20mA电流环工业应用设计

XTR116与STM32的4-20mA电流环工业应用设计

1. 4-20mA电流环技术背景与XTR116特性解析工业现场最头疼的问题莫过于长距离信号传输时的干扰和衰减。我在化工厂做自动化改造时,曾遇到过传感器信号传输300米后完全失真的情况。这时候4-20mA电流环的优势就凸显出来了——电流信号对线路电阻不敏感,抗干…

2026/7/6 7:21:08 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻