🌹歡迎來到《小5講堂》🌹
🌹這是《C#》系列文章,每篇文章將以博主理解的角度展開講解。🌹
🌹溫馨提示:博主能力有限,理解水平有限,若有不對之處望指正!🌹
目錄
- 前言
- 安裝插件
- iTextSharp - 5.5.13.4
- FreeSpire.PDF - 10.2.0
- QT插件
- 完整代碼
- 實際應用場景
- HTML轉PDF
- PDF追加文本
- 相關文章
前言
當你感到迷茫的時候,適當給自己一些工作上或者生活上的事情做一些減法。
在整理自己一些在線文檔時,發現當時記錄一些代碼的草稿技術文章。
因此,簡單整理發一篇文章分享下當時的過程,希望能給小伙伴帶來點靈感。
安裝插件
打開NuGet包管理器,安裝下面兩個插件,選擇合適的版本安裝。
iTextSharp - 5.5.13.4
FreeSpire.PDF - 10.2.0
QT插件
選擇合適版本下載
Windows x86
Windows x64
Linux x64
Mac x64
完整代碼
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
using Spire.Pdf.Graphics;
using Spire.Additions.Qt;
using Spire.Pdf;private void TestHtmlToPdf()
{try{List<string> sourceFiles = new List<string>();// 輸出 - 文件夾string baseDirectory = $"{AppDomain.CurrentDomain.BaseDirectory}";string fileName = $"{Guid.NewGuid()}.pdf";string outputPath = $"{baseDirectory}/{fileName}";if (true){string url = $@"https://www.csdn.net";// string htmlContent = HttpRequest.SendGet(url, "");if (!System.IO.File.Exists(outputPath)){// 如果目錄不存在,則創建目錄if (!Directory.Exists(baseDirectory)){Directory.CreateDirectory(baseDirectory);}//指定插件路徑 - Qt插件解壓到E盤(根據自己盤來解壓)string pluginPath = @"E:\plugins";//設置插件路徑HtmlConverter.PluginPath = pluginPath;//將HTML網頁轉換為PDFHtmlConverter.Convert(url, outputPath, true, 100000, new Size(1080, 610), new PdfMargins(0));}sourceFiles.Add(outputPath);}// 操作pdf - 追加文本string text = "CSDN博客博主 - 全棧小5";if (true){// 加載現有的 PDF 文件Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();doc.LoadFromFile(outputPath);// 獲取第一頁PdfPageBase page = doc.Pages[0];// 創建一個畫刷和字體PdfSolidBrush brush = new PdfSolidBrush(Color.Blue);Font font = new Font("宋體", 18f); // 解決中文亂碼問題PdfTrueTypeFont pdfTrueTypeFont = new PdfTrueTypeFont(font, true); // true表示使用Unicode編碼// 在指定位置追加文本page.Canvas.DrawString($"{text}", pdfTrueTypeFont, brush, new PointF(200, 20));// 保存修改后的 PDF 文件doc.SaveToFile(outputPath, FileFormat.PDF);// 釋放資源doc.Close();}}catch (Exception ex){}
}
實際應用場景
HTML轉PDF
- 網頁內容存檔:將網頁內容轉換為PDF格式進行長期保存
- 電子報告生成:自動將數據分析結果(HTML格式)轉換為可打印的PDF報告
- 電子發票/收據:將在線生成的發票HTML模板轉換為PDF發送給客戶
- 合同文檔生成:將在線填寫的合同表單(HTML)轉換為正式PDF合同
- 教育材料:將在線課程內容轉換為PDF供學生下載
- 產品目錄:將網站上的產品列表轉換為PDF目錄
- 簡歷生成:將在線填寫的簡歷信息轉換為PDF格式
- 新聞簡報:將每日新聞網頁內容轉換為PDF簡報
PDF追加文本
- 合同簽署:在已有合同PDF上追加簽名和日期信息
- 批注和注釋:在技術文檔或學術論文PDF上添加評論
- 水印添加:在PDF文檔上追加"機密"或"草稿"等水印文本
- 文檔編號:在生成的PDF上追加唯一的文檔編號
- 頁眉頁腳:為現有PDF文檔追加頁眉頁腳信息
- 自動填表:在PDF表單上追加填寫的數據
- 翻譯文檔:在原文PDF上追加翻譯文本
- 法律文件:在判決書等法律文件上追加法官意見
- 醫療記錄:在患者病歷PDF上追加醫生診斷意見
- 工程圖紙:在技術圖紙PDF上追加修訂說明
相關文章
【C#】Html轉Pdf,Spire和iTextSharp結合,.net framework 4.8
【C#】事務(進程 ID 64)與另一個進程被死鎖在鎖資源上,并且已被選作死鎖犧牲品。請重新運行該事務。不能在具有唯一索引“XXX_Index”的對象“dbo.Test”中插入重復鍵的行。
【C#】使用DeepSeek幫助評估數據庫性能問題,C# 使用定時任務,每隔一分鐘移除一次表,再重新創建表,和往新創建的表追加5萬多條記錄
【C#】合理使用DeepSeek相關AI應用為我們提供強有力的開發工具,在.net core 6.0框架下使用JsonNode動態解析json字符串,如何正確使用單問號和雙問號做好空值處理
【C#】已經實體類和動態實體類的反射使用方法,兩分鐘回顧,碼上就懂
【C#】使用vue3的axios發起get和post請求.net framework部署的API顯示跨域
【C#】.net core 6.0 webapi 使用core版本的NPOI的Excel讀取數據以及保存數據
【C#】pdf按頁分割文件,以及分頁合并,效果還不錯,你值得擁有
【C#】未能加載文件或程序集“CefSharp.Core.Runtime.dll”或它的某一個依賴項。找不到指定的模塊。
【C#】.net core 6.0 在program時間格式統一json格式化,并列舉program默認寫法和簡化寫法
【C#】.net core 6.0 ApiController,API控制器方法,API接口以實體類作為接收參數應該注意的點
【C#】 SortedDictionary,查找字典中是否存在給定的關鍵字
【C#】.net core 6.0 MVC返回JsonResult顯示API接口返回值不可被JSON反序列化
【C#】.net core 6.0 使用第三方日志插件Log4net,配置文件詳細說明
【C#】使用代碼實現龍年春晚撲克牌魔術(守歲共此時),代碼實現篇
【C#】使用代碼實現龍年春晚撲克牌魔術(守歲共此時),流程描述篇