news 2026/3/4 17:14:05

如何通过 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/3/4 3:26:32

【计算机毕设】4S店车辆管理系统

💟博主:程序员小俊:CSDN作者、博客专家、全栈领域优质创作者 💟专注于计算机毕业设计,大数据、深度学习、Java、小程序、python、安卓等技术领域 📲文章末尾获取源码数据库 🌈还有大家在毕设选题…

作者头像 李华
网站建设 2026/2/27 23:13:56

【深度学习新浪潮】如何评价Kaiming He新作《Generative Modeling via Drifting》?

核心结论:这篇论文由邓明扬一作、何恺明团队于2026年2月4日发表在arXiv上,提出了Drifting Models这一全新生成建模范式,其核心创新在于将推理时的迭代过程转移到训练阶段,实现了单步(1-NFE)生成的SOTA性能,同时在理论上建立了清晰的物理直觉与数学平衡条件,为生成模型的效…

作者头像 李华
网站建设 2026/3/4 4:51:41

智能天窗设计

智能天窗设计与实现 第一章 设计背景与核心目标 传统汽车或家居天窗多依赖手动开关或固定档位控制,存在操作不便、无法根据环境变化自适应调节、缺乏防夹手与雨水防护等问题,难以满足现代用户对便捷性、安全性与智能化的使用需求。尤其在突发降雨、强光…

作者头像 李华
网站建设 2026/2/28 14:27:56

智能手套设计

智能手套设计与实现 第一章 设计背景与核心目标 传统手套仅具备保暖、防护等基础功能,缺乏环境感知、健康监测、智能交互等拓展能力,难以满足现代人群在户外探险、运动健身、健康管理等场景的多元化需求。智能手套依托柔性传感、低功耗电子与物联网技术&…

作者头像 李华
网站建设 2026/3/2 17:39:04

可焊性测试(SD)对LED车灯稳定性评估

引言在汽车电子制造领域,焊接质量是决定元器件与电路板连接可靠性的关键环节。对于LED车灯而言,其引线框架、支架或封装基板的可焊性直接决定了焊接工艺的稳定性与长期性能。AEC-Q102作为车用LED器件的国际权威可靠性认证标准,其中的"可…

作者头像 李华
网站建设 2026/3/2 18:27:23

如何在生产环境中部署Java调用淘宝商品详情API的项目?

你想知道在生产环境中部署「Java 调用淘宝商品详情 API」项目的完整流程,我会聚焦生产环境的核心诉求(稳定性、可运维、安全性),从「部署前准备 → 主流部署方案(Docker 优先) → 运维保障 → 故障兜底」展…

作者头像 李华