翻譯|使用教程|編輯:吉煒煒|2025-07-18 11:16:02.510|閱讀 113 次
概述:本文介紹如何使用 C# 中的 Text Control .NET Server 組件將二維碼添加到 PDF 文檔。并提供了有效實現(xiàn)此功能所需的步驟和代碼片段。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
	 
 
	
PDF 文檔通常是合同、發(fā)票、證書和報告的最終格式。盡管它們在設(shè)計上是靜態(tài)的,但用戶現(xiàn)在希望能夠與它們交互、驗證信息并直接從這些文件訪問數(shù)字服務(wù)。這時,二維碼就變得至關(guān)重要。
	 
 
PDF 文檔中的二維碼將印刷或數(shù)字內(nèi)容與動態(tài)在線體驗連接起來。用戶只需掃描二維碼即可驗證文檔、打開相關(guān)網(wǎng)站、訪問客戶門戶或繼續(xù)工作流程。在打印和共享文檔的環(huán)境中,二維碼可確保數(shù)字連接保持完整。
添加二維碼還能為物流和文檔管理帶來益處。例如,送貨單、采購訂單和訪客通行證可以包含可掃描的嵌入式信息。這使得公司能夠?qū)崿F(xiàn)流程自動化并改進(jìn)追蹤。在醫(yī)療保健和法律等行業(yè),二維碼可以驗證真實性,并在不改變原始文檔布局的情況下引導(dǎo)用戶查看補充說明。
TX Text Control 提供兩種在 PDF 文檔中嵌入二維碼的主要方法。您可以使用 API 以編程方式添加二維碼,也可以創(chuàng)建帶有二維碼占位符的模板,并將其與 JSON 文件中的數(shù)據(jù)合并。根據(jù)具體應(yīng)用,這兩種方法都提供了靈活性,可以滿足不同的需求。
使用 TX Text Control 中的條形碼對象,開發(fā)人員可以直接創(chuàng)建二維碼并將其插入文檔。此方法可以完全控制二維碼的位置、大小和內(nèi)容。
先決條件
您需要下載并安裝 TX Text Control .NET Server for ASP.NET 的試用版:
- 下載試用版
安裝程序需要下載和安裝。
確保您下載了附帶的最新版本的 Visual Studio 2022 。
在 Visual Studio 2022 中,選擇“創(chuàng)建新項目” 來創(chuàng)建新項目。
選擇Console App作為項目模板并單擊Next確認(rèn)。
輸入項目名稱并選擇保存項目的位置。單擊“下一步”確認(rèn)。
選擇.NET 8.0(長期支持)作為框架。
啟用啟用容器支持復(fù)選框并選擇Linux作為容器操作系統(tǒng)。
選擇Dockerfile作為容器構(gòu)建類型選項,并通過創(chuàng)建進(jìn)行確認(rèn)。
			 
 
		
在解決方案資源管理器中,選擇您創(chuàng)建的項目,然后從項目主菜單中選擇“管理 NuGet 包...”。選擇“文本控制離線包”作為包源。
安裝以下軟件包:
			 
 
		
在解決方案資源管理器中找到Program.cs文件,并將代碼替換為以下代碼片段:
	using TXTextControl;
using TXTextControl.Barcode;
using TXTextControl.DataVisualization;
using System.Drawing;
// Create a new ServerTextControl instance for server-side document generation
using var tx = new ServerTextControl();
// Initialize a new, empty document
tx.Create();
// The text to be encoded in the QR code
var barCodeText = "http://www.textcontrol.com";
// Create the barcode core with type QR code and set the encoded text
var barcodeCore = new TXBarcodeCore
{
    BarcodeType = BarcodeType.QRCode,
    Text = barCodeText,
    UpperTextLength = barCodeText.Length // Optional visual setting
};
// Create a frame for the barcode and define its visual size
var barcodeFrame = new BarcodeFrame(barcodeCore)
{
    Size = new Size(5000, 5000) 
};
// Add the barcode to the document at the end (-1 means current input position)
tx.Barcodes.Add(barcodeFrame, -1);
// Save the document as a PDF
tx.Save("results.pdf", StreamType.AdobePDF);
現(xiàn)在運行在 Docker 容器中運行應(yīng)用程序的項目。
這將創(chuàng)建一個 PDF 文檔,其中嵌入了指向給定網(wǎng)站的二維碼。
在許多商業(yè)應(yīng)用中,將文檔的設(shè)計與數(shù)據(jù)分離至關(guān)重要。TX Text Control 允許模板包含二維碼占位符,這些占位符會在合并過程中填充動態(tài)內(nèi)容。使用 TX Text Control 的編輯器可視化地設(shè)計這些模板。添加二維碼占位符并為其命名。
在文檔生成過程中,應(yīng)用程序會加載模板并將其與 JSON 數(shù)據(jù)文件合并。JSON 對象中的值會自動應(yīng)用于二維碼占位符。此方法非常適合批量處理任務(wù),例如生成證書、會員卡或發(fā)票,這些任務(wù)中每個文檔都需要唯一的二維碼,但布局保持不變。
現(xiàn)在,我們來看一下開頭截圖中顯示的裝箱單示例。
	 
 
使用 TX Text Control 的郵件合并 引擎創(chuàng)建此裝箱單非常簡單。首先,如下所示,我們需要一個數(shù)據(jù)源,例如 JSON 對象。
	[
    {
        "packing_slip_guid": "12345678-1234-1234-1234-123456789012",
        "dispatch_date": "2024-01-01",
        "recipient": {
            "id": 1,
            "name": "John Doe",
            "company": "Company A",
            "address": {
                "street": "123 Main St",
                "city": "Anytown",
                "state": "CA",
                "zip": "12345"
            }
        },
        "product": {
            "product_id": 1,
            "name": "Product 1",
            "qty": "Product 1 Description",
            "code": "123456789012"
        },
        "items": [
            {
                "item_id": 1,
                "name": "Item 1",
                "description": "Description 1",
                "quantity": 1,
                "price": 100,
                "upc": "12345678901"
            },
            {
                "item_id": 2,
                "name": "Item 2",
                "description": "Description 2",
                "quantity": 2,
                "price": 200,
                "upc": "12345678902"
            },
            {
                "item_id": 3,
                "name": "Item 3",
                "description": "Description 3",
                "quantity": 3,
                "price": 300,
                "upc": "12345678903"
            },
            [...]
        ]
    }
]
我們需要一個包含合并字段和條形碼的模板文檔。合并字段將使用來自數(shù)據(jù)源的數(shù)據(jù)填充,條形碼將基于相同的數(shù)據(jù)生成。下方屏幕截圖顯示了 TX Text Control 的所見即所得 (WYSIWYG) 文檔編輯器中準(zhǔn)備好的模板,該編輯器可以無縫集成到您的應(yīng)用程序中。
	 
 
條形碼可以鏈接到數(shù)據(jù)源字段,以便在最終文檔生成期間自動使用正確的值進(jìn)行更新。
	 
 
此代碼演示了如何使用 TX Text Control 的 MailMerge 類將動態(tài) JSON 數(shù)據(jù)合并到預(yù)先設(shè)計的模板中來生成 PDF 文檔。
using TXTextControl;
using TXTextControl.DocumentServer;
using System.IO;
// Create a new ServerTextControl instance for document processing
using var tx = new ServerTextControl();
// Create a new, empty document
tx.Create();
// Load the template document in TX Text Control's internal format
tx.Load("packing_slip.tx", StreamType.InternalUnicodeFormat);
// Initialize the MailMerge component with the loaded document
var mailMerge = new MailMerge
{
    TextComponent = tx
};
// Load JSON data from file
var jsonData = File.ReadAllText("data.json");
// Merge the JSON data into the template
mailMerge.MergeJsonData(jsonData);
// Save the merged document as a PDF
tx.Save("output.pdf", StreamType.AdobePDF);
使用 TX Text Control,將二維碼添加到 PDF 文檔非常簡單。無論您是通過編程方式生成二維碼,還是結(jié)合模板使用郵件合并功能,該 API 的靈活性都讓您能夠創(chuàng)建動態(tài)的交互式文檔,從而提升用戶體驗并簡化工作流程。
二維碼和條形碼在各種文檔或 PDF 中都非常有用,它們提供了一種便捷的方式,可以訪問信息、驗證真?zhèn)巍⒆粉櫸锲凡⒃鰪娪脩艚换ァ1疚慕榻B如何使用 TX Text Control .NET Server for ASP.NET 在 .NET C# 中創(chuàng)建帶有二維碼和條形碼的文檔。
	
--------------------------------------------------------------------------
關(guān)于慧都
慧都科技是一家行業(yè)數(shù)字化解決方案公司,長期專注于軟件、油氣與制造行業(yè)。公司基于深入的業(yè)務(wù)理解與管理洞察,以系統(tǒng)化的業(yè)務(wù)建模驅(qū)動技術(shù)落地,幫助企業(yè)實現(xiàn)智能化運營與長期競爭優(yōu)勢。在軟件工程領(lǐng)域,我們提供開發(fā)控件、研發(fā)管理、代碼開發(fā)、部署運維等軟件開發(fā)全鏈路所需的產(chǎn)品,提供正版授權(quán)采購、技術(shù)選型、個性化維保等服務(wù),幫助客戶實現(xiàn)技術(shù)合規(guī)、降本增效與風(fēng)險可控。慧都科技TX Text Control在中國的官方授權(quán)代理商,提供TX Text Control系列產(chǎn)品免費試用,咨詢,正版銷售等于一體的專業(yè)化服務(wù)。TX Text Control是文檔處理與管理領(lǐng)域的優(yōu)秀產(chǎn)品,幫助企業(yè)實現(xiàn)高效的文檔開發(fā)。
		
	
		
	
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都網(wǎng)