
PDF 文档通常是合同、发票、证书和报告的最终格式。尽管它们在设计上是静态的,但用户现在希望能够与它们交互、验证信息并直接从这些文件访问数字服务。这时,二维码就变得至关重要。

PDF 文档中的二维码将印刷或数字内容与动态在线体验连接起来。用户只需扫描二维码即可验证文档、打开相关网站、访问客户门户或继续工作流程。在打印和共享文档的环境中,二维码可确保数字连接保持完整。
添加二维码还能为物流和文档管理带来益处。例如,送货单、采购订单和访客通行证可以包含可扫描的嵌入式信息。这使得公司能够实现流程自动化并改进追踪。在医疗保健和法律等行业,二维码可以验证真实性,并在不改变原始文档布局的情况下引导用户查看补充说明。
++TX Text Control++ 提供两种在 PDF 文档中嵌入二维码的主要方法。您可以使用 API 以编程方式添加二维码,也可以创建带有二维码占位符的模板,并将其与 JSON 文件中的数据合并。根据具体应用,这两种方法都提供了灵活性,可以满足不同的需求。
以编程方式添加二维码
使用 ++TX Text Control++ 中的条形码对象,开发人员可以直接创建二维码并将其插入文档。此方法可以完全控制二维码的位置、大小和内容。
先决条件
您需要下载并安装 TX Text Control .NET Server for ASP.NET 的试用版:
- 下载试用版
安装程序需要下载和安装。
创建应用程序
确保您下载了.NET 8 SDK附带的最新版本的 Visual Studio 2022 。
-
在 Visual Studio 2022 中,选择"创建新项目" 来创建新项目。
-
选择Console App 作为项目模板并单击Next确认。
-
输入项目名称并选择保存项目的位置。单击*"下一步"*确认。
-
选择*.NET 8.0(长期支持)* 作为框架。
-
启用启用容器支持 复选框并选择Linux 作为容器操作系统。
-
选择Dockerfile 作为容器构建类型 选项,并通过创建进行确认。
添加 NuGet 包
-
在解决方案资源管理器 中,选择您创建的项目,然后从项目主菜单中选择 "管理 NuGet 包..." 。选择"文本控制离线包"作为包源。
安装以下软件包:
- TXTextControl.TextControl.Core.SDK
使用 ServerTextControl
- 在解决方案资源管理器 中找到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 = "https://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);
- 现在运行在 Docker 容器中运行应用程序的项目。
这将创建一个 PDF 文档,其中嵌入了指向给定网站的二维码。
使用邮件合并
在许多商业应用中,将文档的设计与数据分离至关重要。**++TX Text Control++**允许模板包含二维码占位符,这些占位符会在合并过程中填充动态内容。使用 TX Text Control 的编辑器可视化地设计这些模板。添加二维码占位符并为其命名。
在文档生成过程中,应用程序会加载模板并将其与 JSON 数据文件合并。JSON 对象中的值会自动应用于二维码占位符。此方法非常适合批量处理任务,例如生成证书、会员卡或发票,这些任务中每个文档都需要唯一的二维码,但布局保持不变。
现在,我们来看一下开头截图中显示的装箱单示例。

使用 **++TX Text Control++**的邮件合并 引擎创建此装箱单非常简单。首先,如下所示,我们需要一个数据源,例如 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"
},
[...]
]
}
]
我们需要一个包含合并字段和条形码的模板文档。合并字段将使用来自数据源的数据填充,条形码将基于相同的数据生成。下方屏幕截图显示了**++TX Text Control++**的所见即所得 (WYSIWYG) 文档编辑器中准备好的模板,该编辑器可以无缝集成到您的应用程序中。

条形码可以链接到数据源字段,以便在最终文档生成期间自动使用正确的值进行更新。

此代码演示了如何使用**++TX Text Control++** 的 MailMerge 类将动态 JSON 数据合并到预先设计的模板中来生成 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 文档非常简单。无论您是通过编程方式生成二维码,还是结合模板使用邮件合并功能,该 API 的灵活性都让您能够创建动态的交互式文档,从而提升用户体验并简化工作流程。
二维码和条形码在各种文档或 PDF 中都非常有用,它们提供了一种便捷的方式,可以访问信息、验证真伪、追踪物品并增强用户交互。本文介绍如何使用 ++TX Text Control .NET Server for ASP.NET++ 在 .NET C# 中创建带有二维码和条形码的文档。