文档处理控件TX Text Control系列教程:使用 C# .NET 将二维码添加到 PDF 文档

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

PDF 文档中的二维码将印刷或数字内容与动态在线体验连接起来。用户只需扫描二维码即可验证文档、打开相关网站、访问客户门户或继续工作流程。在打印和共享文档的环境中,二维码可确保数字连接保持完整。

添加二维码还能为物流和文档管理带来益处。例如,送货单、采购订单和访客通行证可以包含可扫描的嵌入式信息。这使得公司能够实现流程自动化并改进追踪。在医疗保健和法律等行业,二维码可以验证真实性,并在不改变原始文档布局的情况下引导用户查看补充说明。

++TX Text Control++ 提供两种在 PDF 文档中嵌入二维码的主要方法。您可以使用 API 以编程方式添加二维码,也可以创建带有二维码占位符的模板,并将其与 JSON 文件中的数据合并。根据具体应用,这两种方法都提供了灵活性,可以满足不同的需求。

TX Text Control 官方试用版最新下载

以编程方式添加二维码

使用 ++TX Text Control++ 中的条形码对象,开发人员可以直接创建二维码并将其插入文档。此方法可以完全控制二维码的位置、大小和内容。

先决条件

您需要下载并安装 TX Text Control .NET Server for ASP.NET 的试用版:

创建应用程序

确保您下载了.NET 8 SDK附带的最新版本的 Visual Studio 2022 。

  1. 在 Visual Studio 2022 中,选择"创建新项目" 来创建新项目

  2. 选择Console App 作为项目模板并单击Next确认。

  3. 输入项目名称并选择保存项目的位置。单击*"下一步"*确认。

  4. 选择*.NET 8.0(长期支持)* 作为框架

  5. 启用启用容器支持 复选框并选择Linux 作为容器操作系统

  6. 选择Dockerfile 作为容器构建类型 选项,并通过创建进行确认。

添加 NuGet 包
  1. 在解决方案资源管理器 中,选择您创建的项目,然后从项目主菜单中选择 "管理 NuGet 包..." 。选择"文本控制离线包"作为包源

    安装以下软件包:

    • TXTextControl.TextControl.Core.SDK
使用 ServerTextControl
  1. 解决方案资源管理器 中找到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);
  1. 现在运行在 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# 中创建带有二维码和条形码的文档。

相关推荐
枯萎穿心攻击2 小时前
响应式编程入门教程第五节:Unity 生命周期与资源管理中的响应式编程
开发语言·unity·架构·c#·游戏引擎
斯内科4 小时前
C#将【程序集引用-依赖关系】展示到NetronLight图表中
c#·流程图·graph
一只爱做笔记的码农5 小时前
【C#】Vscode中C#工程如何引用自编写的dll
开发语言·vscode·c#
兔子坨坨6 小时前
python爬虫获取PDF
爬虫·python·pdf
半生过往7 小时前
前端上传 pdf 文件 ,前端自己解析出来 生成界面 然后支持编辑
前端·pdf
张人玉8 小时前
C#`Array`进阶
java·算法·c#
向宇it11 小时前
【实现100个unity特效】unity中使用ShaderGraph实现一个贴图UV循环移动滚动的指示效果
游戏·3d·unity·c#·游戏引擎·贴图·uv
开开心心_Every11 小时前
免费PDF文件格式转换工具
java·智能手机·pdf·word·batch·java-zookeeper
勿芮介11 小时前
【微服务】Ocelot微服务网关
微服务·c#·gateway