最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用C#實(shí)現(xiàn)TXT文本轉(zhuǎn)換為PDF

 更新時(shí)間:2026年02月10日 08:18:50   作者:咕白m625  
在日常開(kāi)發(fā)和辦公場(chǎng)景中,將純文本(TXT)格式轉(zhuǎn)換為 PDF 格式是常見(jiàn)需求,本文將介紹如何通過(guò) C# 和 .NET 免費(fèi)庫(kù)實(shí)現(xiàn) TXT 到 PDF 的轉(zhuǎn)換,需要的朋友可以參考下

在日常開(kāi)發(fā)和辦公場(chǎng)景中,將純文本(TXT)格式轉(zhuǎn)換為 PDF 格式是常見(jiàn)需求。PDF 格式具備跨平臺(tái)、格式穩(wěn)定、不易篡改的特性,而 TXT 則更側(cè)重內(nèi)容存儲(chǔ),二者的格式轉(zhuǎn)換能兼顧內(nèi)容可讀性與傳播規(guī)范性。本文將介紹如何通過(guò) C# 和 .NET 免費(fèi)庫(kù)實(shí)現(xiàn) TXT 到 PDF 的轉(zhuǎn)換。

一、環(huán)境準(zhǔn)備

1. 核心庫(kù)介紹

Free Spire.PDF for .NET 是一款免費(fèi)的 PDF 操作類庫(kù),提供了 PDF 文檔創(chuàng)建、編輯、格式轉(zhuǎn)換等基礎(chǔ)功能。需要注意的是,該免費(fèi)版存在一定限制(如單文檔轉(zhuǎn)換頁(yè)數(shù)上限),但完全滿足 TXT 轉(zhuǎn) PDF 的基礎(chǔ)需求。

2. 環(huán)境配置

  • 開(kāi)發(fā)環(huán)境:Visual Studio 或其他 C# IDE;
  • 庫(kù)安裝:通過(guò) NuGet 包管理器安裝 Free Spire.PDF,執(zhí)行以下 NuGet 命令:
Install-Package FreeSpire.PDF

二、TXT 轉(zhuǎn) PDF 核心實(shí)現(xiàn)步驟

TXT 純文本轉(zhuǎn) PDF 的核心邏輯可拆解為「讀取 TXT 內(nèi)容→創(chuàng)建 PDF 載體→設(shè)置文本渲染格式→將文本繪制到 PDF→保存 PDF 文件」五個(gè)步驟,以下是完整實(shí)現(xiàn)代碼及分步解析。

1. 完整實(shí)現(xiàn)代碼

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;
using System.IO;

namespace ConvertTextToPdf
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // 1. 讀取TXT文本文件內(nèi)容
                string txtFilePath = @"Input.txt";
                string textContent = File.ReadAllText(txtFilePath, System.Text.Encoding.UTF8);

                // 2. 創(chuàng)建PDF文檔實(shí)例并添加空白頁(yè)面
                PdfDocument pdfDocument = new PdfDocument();
                PdfPageBase pdfPage = pdfDocument.Pages.Add(); // 默認(rèn)A4頁(yè)面

                // 3. 配置PDF文本渲染的字體
                PdfTrueTypeFont pdfFont = new PdfTrueTypeFont("宋體", 18f, PdfFontStyle.Bold, true);

                // 4. 配置文本布局規(guī)則
                PdfTextLayout textLayout = new PdfTextLayout();
                textLayout.Break = PdfLayoutBreakType.FitPage; // 內(nèi)容適配頁(yè)面
                textLayout.Layout = PdfLayoutType.Paginate;    // 內(nèi)容超出時(shí)自動(dòng)分頁(yè)

                // 5. 配置文本格式
                PdfStringFormat textFormat = new PdfStringFormat();
                textFormat.Alignment = PdfTextAlignment.Justify; // 文本兩端對(duì)齊
                textFormat.LineSpacing = 20f;                    // 設(shè)置行間距

                // 6. 創(chuàng)建文本渲染組件并綁定格式
                PdfTextWidget textWidget = new PdfTextWidget(textContent, pdfFont, PdfBrushes.Black);
                textWidget.StringFormat = textFormat;

                // 7. 定義文本渲染區(qū)域
                RectangleF renderBounds = new RectangleF(
                    new PointF(10, 25),
                    new SizeF(pdfPage.Canvas.ClientSize.Width - 20, pdfPage.Canvas.ClientSize.Height - 30)
                );

                // 8. 將文本繪制到PDF頁(yè)面
                textWidget.Draw(pdfPage, renderBounds, textLayout);

                // 9. 保存PDF文件
                pdfDocument.SaveToFile("TextToPdf.pdf", FileFormat.PDF);

                // 釋放資源
                pdfDocument.Close();
                Console.WriteLine("TXT轉(zhuǎn)PDF成功!");
            }
            catch (IOException ex)
            {
                Console.WriteLine("文件操作異常:" + ex.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine("轉(zhuǎn)換失?。? + ex.Message);
            }
        }
    }
}

2. 代碼關(guān)鍵解析

(1)讀取 TXT 內(nèi)容
使用 File.ReadAllText 讀取文本文件,建議顯式指定編碼(如UTF-8) —TXT 文件的默認(rèn)編碼可能因系統(tǒng)而異,未指定編碼易導(dǎo)致中文等字符亂碼。

(2)PDF 文檔與頁(yè)面創(chuàng)建
PdfDocument 是整個(gè) PDF 文檔的核心實(shí)例,pdfDocument.Pages.Add() 會(huì)創(chuàng)建一個(gè)默認(rèn) A4 尺寸的空白頁(yè)面,也可通過(guò)重載方法自定義頁(yè)面大?。ㄈ?A3、自定義尺寸)。

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

  • PdfTrueTypeFont:定義字體、字號(hào)和樣式;
  • PdfTextLayout:設(shè)置 Paginate 可實(shí)現(xiàn)「文本超出單頁(yè)時(shí)自動(dòng)新建頁(yè)面」,避免內(nèi)容被截?cái)啵?/li>
  • PdfStringFormat:配置文本對(duì)齊方式(左對(duì)齊、居中、兩端對(duì)齊)和行間距,提升 PDF 可讀性;
  • RectangleF:定義文本在頁(yè)面中的渲染區(qū)域,預(yù)留邊距避免文本緊貼頁(yè)面邊緣。

(4)文本繪制與 PDF 保存
PdfTextWidget 是文本渲染的核心組件,通過(guò) Draw 方法將文本繪制到指定頁(yè)面和區(qū)域;最終通過(guò) SaveToFile 保存 PDF 文件,支持指定保存路徑。

本文展示的 C# TXT 文本轉(zhuǎn) PDF 方案,為中小型項(xiàng)目提供了代碼量少,且無(wú)需依賴第三方工具(如Office、WkHtmlToPdf)的實(shí)用解決方案。通過(guò)合理的配置和優(yōu)化,該方案能夠滿足大部分基礎(chǔ)轉(zhuǎn)換需求。

到此這篇關(guān)于使用C#將TXT文本轉(zhuǎn)換為PDF的實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)C# TXT文本轉(zhuǎn)為PDF內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

南开区| 镶黄旗| 阿拉善右旗| 称多县| 大丰市| 凤翔县| 星子县| 建昌县| 阿克苏市| 虞城县| 正镶白旗| 抚顺市| 高尔夫| 石阡县| 安化县| 西畴县| 渑池县| 仙居县| 安达市| 东乡| 铜陵市| 多伦县| 威远县| 资中县| 黄浦区| 江北区| 广南县| 札达县| 大兴区| 洮南市| 湘潭县| 永寿县| 枣强县| 万安县| 胶州市| 鹤壁市| 九江县| 鄱阳县| 景德镇市| 剑川县| 黄龙县|