IRONSOFTWAREHOME
使用IRONPDF

如何使用IronPDF在.NET Core中生成PDF

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

這不僅僅是一個格式問題,更是合規問題

IronPDF首頁 大多數FinTech應用程式將交易資料儲存在關係資料庫中,並按需生成收據。 當客戶請求時,應用程式會重新查詢記錄並呈現視圖。 這種方法有一個根本問題:結果PDF或"收據"反映的是資料的當前狀態,而不是客戶在交易完成時看到的樣子。

通過正常的操作流程,資料庫記錄可以被更正、修訂或更新。 重新查詢的收據不是歷史文件; 它是一個帶有過去時間戳的當前快照。當支付處理器面臨退單,當一家新銀行的合規團隊應對監管機構,當貸款平台的審計日誌被傳喚或加密貨幣交易所需要向KYC審查員展示文件完整性時,需要的是文件,而不是查詢。

一份PDF文件在結算的時刻就已儲存,被哈希處理以檢測篡改並寫入不可變儲存中,這就是需要的文件。 這確保現有的PDF文件多年之後仍然有效。 無論您正在處理財務報告還是簡單的第一份PDF,文件生成必須是最終的。

PCI-DSS、SOX和AML記錄保存義務並不要求以程式化方式生成PDF文件,但它們確實要求可證明和可審計的記錄。 呈現的、已哈希並有時間戳的PDF文件,以一種單純資料庫行無法達到的方式滿足了這一標準。 稍後在本文中,我們將看一個IronPDF的範例,展示如何在建立新的PDF文件時進行這一過程。

解決方案一覽:在C&#35中將HTML內容轉換為PDF

Iron Software的IronPDF程式庫在交易完成的確切時刻,作為交易流程的一部分,同步生成生成的PDF收據。您可以通過NuGet Package Manager或Visual Studio中的Package Manager Console安裝IronPDF。 使用.NET CLI,只需運行install package IronPDF。

收據是從HTML模板或HTML文件渲染的,加上交易ID和時間戳,經過哈希處理並寫入不可變儲存。 它成為了最終文件。 不需要維護SSRS定義,不需要調用第三方文件API,也不需要無頭浏覽器程式。 IronPDF作為一個NuGet程式庫在進程中運行以完成PDF任務。

自動化文件工作流程的主要優勢:

  • 保持所有頁面大小的格式。

  • 支援數位簽名,確保文件完整性。

  • 能夠從網頁或HTML字串建立PDF物件。

  • 可以輕鬆嵌入Iron Software的客戶logo和品牌

交易到收據的流水線如何運作

成功的路徑

支付成功,交易記錄寫入資料庫。 同一個處理程式——在返回回應之前——使用交易細節填寫HTML內容收據模板:ID、UTC時間戳、金額和貨幣、發送者和接收者標識、費用分解和動態內容。

渲染器new ChromePdfRenderer(特別是var renderer = new ChromePdfRenderer();)將網頁內容轉換為PDF格式。 生成的PDF字節陣列立即使用SHA-256進行哈希處理。

using IronPdf
using System.Security.Cryptography;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 15;

renderer.RenderingOptions.MarginBottom = 15;

string receiptHtml = $@"
    <h1>Transaction Receipt</h1>
    <p><strong>Transaction ID:</strong> {tx.Id}</p>
    <p><strong>Timestamp (UTC):</strong> {tx.CompletedAt:u}</p>
    <p><strong>Amount:</strong> {tx.Amount:F2} {tx.Currency}</p>
    <p><strong>Fee:</strong> {tx.Fee:F2} {tx.Currency}</p>
    <p><strong>From:</strong> {tx.SenderRef} &rarr; <strong>To:</strong> {tx.ReceiverRef}</p>
    <p><strong>Resulting Balance:</strong> {tx.ClosingBalance:F2} {tx.Currency}</p>";

var pdf = renderer.RenderHtmlAsPdf(receiptHtml);

string hash = Convert.ToHexString(SHA256.HashData(pdf.BinaryData));

await _db.StoreReceiptHashAsync(tx.Id, hash);

await _blobStorage.UploadImmutableAsync($"receipts/{tx.Id}.pdf", pdf.BinaryData);

範例生成的PDF文件

IronPDF範例PDF輸出 新的PDF文件然後儲存在不可變儲存中。 無論是您的第一份PDF還是您正在合併現有的PDF,過程都保持不變。 一份副本顯示在客戶的PDF顯示器中。 在Iron Software產品演示中,軟體產品演示團隊通常突出展示如何僅僅幾行程式碼即可處理動態報告和任務,如HTML轉PDF轉換或PDF生成任務。

為了協助UI/UX,您可能會在儀表板上看到藍色圓圈中的鑰匙、灰色圓圈中的鑰匙或圓圈中的藍色鑰匙,表示已加密、已哈希的文件。下載連結相關的右箭頭圖標幫助使用者導航。

加蓋印章的頁眉或頁腳強調文件在每一頁上的來源:

var shortHash = hash[..12];

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    HtmlFragment = $@"
        <div style='font-size:9px; color:#666; text-align:center;'>
            Generated: {tx.CompletedAt:u} &nbsp;|&nbsp;
            TX: {tx.Id} &nbsp;|&nbsp;
            SHA-256: {shortHash}...
        </div>"
};
HTML

範例頁腳

範例頁腳 收據的每一頁都包含交易ID、生成時間戳和截斷的哈希,這足以讓合規官無需存取資料庫即可點檢完整性。

邊界案例

**逆轉和退款。**失敗或逆轉的交易仍然需要文件。 為逆轉事件生成獨立的PDF,參考原交易ID和收據哈希。 逆轉收據獨立存在作為發生的事情的記錄; 它不會替換或修改原來的內容。

**多貨幣交易。**HTML模板必須按照本地正確處理貨幣符號的放置、小數分隔符和匯率披露。 C#格式字串處理了大部分這些內容:{amount.ToString('F2', CultureInfo.GetCultureInfo('de-DE'))}適用於德國小數慣例,對於如JPY這樣沒有小數位的貨幣,顯式符號放置。 匯率及其時間戳應作為一個已披露的項目出現,而不是從金額中推斷出來的。

**監管水印。**某些司法轄區要求在某些文件型別上印上特定文字,例如:'非稅收發票'、'非正式副本'或特定司法轄區的披露語言。 這些作為HTML覆蓋層或樣式化的頁眉帶可乾淨地處理,無需修改基礎交易資料。

為何這超越合規的重要意義

利益相關者他們得到的是什麼
合規/法律不可變、經哈希的收據在幾分鐘內滿足審計要求,無需重新查詢、無需重構、無需解釋為何當前資料庫記錄與客戶所見不同
客戶支援客戶在交易時間收到的檔件,讓爭議解決變得事實而非解釋性
客戶在每次交易的幾秒鐘內,專業品牌的收據就到達他們的收件箱,與公司保存的文件相同
工程一個HTML模板來維護,在進程中渲染,無需外部服務依賴,無需監控API合約,無需跟蹤每個文件的計費
財務/會計PDF/A檔案輸出以滿足長期保留的需求,符合文件保留政策,並滿足財務記錄保存要求,無需單獨的檔案工作流
提示: 通過單一渲染選項啟用PDF/A輸出 — renderer.RenderingOptions.PdfArchiveFormat = IronPdf.Rendering.PdfArchiveFormat.PDF_A_3B — 來生成ISO標準化的檔案文件,可接受的長期財務記錄保留。

結語

從"我們儲存交易資料"到"我們擁有可審計的記錄"的差距比看起來要小; 它是在交易提交流程中增加了一個渲染步驟。 該步驟生成的文件具有資料庫行所無法提供的來源:不可追溯的時間戳,檢測篡改的哈希,及一個實物文件,無論是客戶打開還是審計員請求,看起來一樣。

IronPDF讓.NET團隊完全控制這個步驟,從渲染HTML收據到印刷頁腳、哈希輸出,並將其流式寫入不可變儲存,這一切都由單個程式庫在ironpdf.com進行。 如果您正在構建或加固交易管道,開始您的免費30天試用,並在投入生產前根據您的合規要求驗證收據輸出。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立