Text Control 控件教程:使用 .NET C# 中的二维码和条形码增强文档
QR 码和条形码非常适合为文档和 PDF 文件增加价值,因为它们提供轻松的信息访问、验证信息、跟踪项目和提高交互性。条形码可以弥补纸质或数字人类可读文档与网络门户或网络应用程序中的数字信息之间的差距。大多数用户都熟悉 QR 码和条形码,它们在许多过程中无处不在,例如:
- 产品包装
- 发票
- 库存管理
- 活动票务
- 登机证
- 支付系统
在某些行业中,如果没有条形码,流程将无法进行。这包括医疗保健,可以通过扫描患者佩戴的腕带直接访问患者数据,或跟踪每日药物剂量。或物流,只需扫描装箱单或其他文件上的商品代码即可跟踪订单或在仓库中找到订单。在零售业,条形码用于跟踪库存、管理库存水平和加快结账流程。
TX Text Control 是一款功能类似于 MS Word 的文字处理控件,包括文档创建、编辑、打印、邮件合并、格式转换、拆分合并、导入导出、批量生成等功能。广泛应用于企业文档管理,网站内容发布,电子病历中病案模板创建、病历书写、修改历史、连续打印、病案归档等功能的实现。
TX Text Control 最新下载https://www.evget.com/vendor/118
什么是条形码?
条形码是一种以视觉格式呈现数据的机器可读表示。它由不同宽度和间距的线条组成,可通过条形码扫描仪读取。QR 码是一种条形码,可以存储比传统条形码更多的信息。它是一种二维码,可以存储文本、URL、联系信息和其他数据。
最典型的条形码是:
-
二维码
QR 码是一种二维条形码,可以存储比传统条形码更多的信息。它通常用于营销、广告和其他需要在小空间中存储更多信息的应用。
-
UPC(通用产品代码)
UPC 代码是一种条形码,常用于零售店跟踪库存和销售情况。它由 12 位数字组成,可通过条形码扫描仪读取。
-
EAN(欧洲商品编号)
EAN 码是一种条形码,在欧洲常用于跟踪库存和销售情况。它由 13 位数字组成,可通过条形码扫描仪读取。
-
代码 39
Code 39 是一种常用于物流和库存管理的条形码。它由不同宽度和间距的线条组成,可通过条形码扫描仪读取。
例如:装箱单
假设您有一张装箱单,其中包含要运送给客户的物品清单。为了在仓库或运输过程中跟踪物品,每件物品都有一个可以扫描的条形码。可以使用条形码扫描仪或带有条形码扫描应用程序的移动设备扫描条形码。条形码包含有关物品的信息,例如物品编号、说明和数量。
请看以下使用 TX Text Control 生成的包含各处条形码的装箱单的屏幕截图。TX Text Control 为所有行业标准的 1D 和 2D 条形码提供开箱即用的支持。
生成装箱单
使用 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 的所见即所得文档编辑器中看到创建的模板,它可以轻松集成到您的应用程序中。
开箱即用的用户界面提供了插入合并字段、重复部分和条形码所需的所有功能。
条形码可以映射到数据源字段,以便在最终文档生成期间使用正确的值进行更新。
准备申请
为了本演示的目的,创建了一个.NET 8 控制台应用程序。
先决条件
以下教程需要 ASP.NET 的 TX Text Control .NET Server 试用版。
- 下载试用版
-
在 Visual Studio 中,使用 .NET 8创建一个新的控制台应用程序。
-
在解决方案资源管理器中,选择您创建的项目,然后从项目主菜单中选择管理 NuGet 包...。
从包源下拉菜单中选择文本控制离线包。
安装以下软件包的最新版本:
- TX文本控制.文本控制.ASP.SDK
-
从本文末尾的 GitHub 存储库下载示例模板和 JSON 数据并将其添加到您的项目中。
-
通过双击解决方案资源管理器中的项目节点打开项目设置,然后将UseWindowsForms属性添加到PropertyGroup部分。完成的.csproj文件应如下所示:
<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0-windows</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <UseWindowsForms>true</UseWindowsForms> <Nullable>enable</Nullable> </PropertyGroup><ItemGroup> <PackageReference Include="TXTextControl.TextControl.ASP.SDK" Version="32.0.3" /> </ItemGroup><ItemGroup> <None Update="data.json"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </None> <None Update="packing_slip.tx"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </None> </ItemGroup></Project>
创建文档
打开Program.cs文件并添加以下代码:
using TXTextControl.DocumentServer;using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl()) { tx.Create(); tx.Load("packing_slip.tx", TXTextControl.StreamType.InternalUnicodeFormat);MailMerge mailMerge = new MailMerge() { TextComponent = tx };string jsonData = System.IO.File.ReadAllText("data.json");mailMerge.MergeJsonData(jsonData);tx.Save("output.pdf", TXTextControl.StreamType.AdobePDF); }
运行应用程序时,将创建文档并将其保存为项目目录中的output.pdf。条形码是使用来自 JSON 数据源的数据生成的。
结论
条形码是一种很好的方式,它可以轻松访问信息、验证信息、跟踪项目并提高交互性,从而为文档和 PDF 文件增加价值。TX Text Control 为所有行业标准的 1D 和 2D 条形码提供现成的支持。MailMerge 类可用于将数据合并到模板文档中并生成带有条形码的最终文档。
相关文章:

Text Control 控件教程:使用 .NET C# 中的二维码和条形码增强文档
QR 码和条形码非常适合为文档和 PDF 文件增加价值,因为它们提供轻松的信息访问、验证信息、跟踪项目和提高交互性。条形码可以弥补纸质或数字人类可读文档与网络门户或网络应用程序中的数字信息之间的差距。大多数用户都熟悉 QR 码和条形码,它们在许多过…...

最新爆火的开源AI项目 | LivePortrait 本地安装教程
LivePortrait 本地部署教程,强大且开源的可控人像AI视频生成 1,准备工作,本地下载代码并准备环境,运行命令前需安装git 以下操作不要安装在C盘和容量较小的硬盘,可以找个大点的硬盘装哟 2,需要安装FFmp…...

揭秘Django与Neo4j:构建智能知识图谱的终极指南
揭秘Django与Neo4j:构建智能知识图谱的终极指南 前言 图是一种用于对象之间的成对关系进行建模的数学结构。 它由两个主要元素组成:节点和关系。 节点:节点可以看作是传统数据库中的记录。每个节点代表一个对象或实体,例如一个人或一个地方。节点按标签分类,这有助于根…...

项目一缓存商品
文章目录 概要整体架构流程技术细节小结 概要 因为商品是经常被浏览的,所以数据库的访问量就问大大增加,造成负载过大影响性能,所以我们需要把商品缓存到redis当中,因为redis是存在内存中的,所以效率会比MySQL的快. 整体架构流程 技术细节 我们在缓存时需要保持数据的一致性所…...

SEO与数据中心代理IP的结合能带来哪些便利?
本文将探讨将SEO与数据中心代理IP结合所带来的好处,以及如何利用这种组合来提升网站在搜索引擎中的排名和可见性。 1. 数据中心代理IP的作用和优势 数据中心代理IP指的是由数据中心提供的IP地址,用于隐藏真实服务器的位置和身份。与其他类型的代理IP相…...

《昇思25天学习打卡营第6天|ResNet50图像分类》
写在前面 从本次开始,接触一些上层应用。 本次通过经典的模型,开始本次任务。这里开始学习resnet50网络模型,应该也会有resnet18,估计18的模型速度会更快一些。 resnet 通过对论文的结论进行展示,说明了模型的功能&…...
Activiti 6 兼容openGauss数据库bytes类型不匹配
当前有个项目需要做国产调研,需要适配高斯数据库,项目启动的时候,提示column "bytes_" is type bytea but expression is of type blob byte_字段是act_ge_bytearray表的,openGauss里的类型是bytea,类型是匹…...
缓存技术:提升性能与效率的利器
在当今数字化时代,软件应用的性能与响应速度成为了衡量其成功与否的重要标准之一。随着数据量的爆炸性增长和用户需求的日益多样化,如何高效地处理这些数据并快速响应用户请求成为了软件开发中亟待解决的问题。缓存技术,作为提升系统性能、优…...

LeetCode 637, 67, 399
文章目录 637. 二叉树的层平均值题目链接标签思路代码 67. 二进制求和题目链接标签思路代码 399. 除法求值题目链接标签思路导入value 属性find() 方法union() 方法query() 方法 代码 637. 二叉树的层平均值 题目链接 637. 二叉树的层平均值 标签 树 深度优先搜索 广度优先…...

如何压缩视频大小不改变画质?这5个视频压缩免费软件超好用!
如何压缩视频大小不改变画质?随着生活的水平逐步提高,视频流媒体服务越来越受欢迎。提供简短而引人注目的视频来展示您的产品或服务已成为一种出色的营销手段。然而,当您要准备导出最终视频时,可能会面临一个常见问题:…...

深入理解 Java 虚拟机第三版(周志明)
这次社招选的这本作为 JVM 资料查阅,记录一些重点 1. 虚拟机历史 Sun Classic VM :已退休 HotSpot VM:主流虚拟机,热点代码探测技术 Mobile / Embedded VM :移动端、嵌入式使用的虚拟机 2.2 运行时数据区域 程序计…...

算法 定长按组翻转链表
一、题目 已知一个链表的头部head,每k个结点为一组,按组翻转。要求返回翻转后的头部 k是一个正整数,它的值小于等于链表长度。如果节点总数不是k的整数倍,则剩余的结点保留原来的顺序。示例如下: (要求不…...

安装nfs和rpcbind设置linux服务器共享磁盘
1、安装nfs和rpcbind 1.1 检查服务器是否安装nfs和rpcbind,执行下命令,检查服务器是否安装过。 rpm -qa|grep nfs rpm -qa|grep rpcbind 说明服务器以安装了,如果没有就需要自己安装 2、安装nfs和rpcbind 将rpm安装包: libtirpc-…...

物联网在电力行业的应用
作者主页: 知孤云出岫 这里写目录标题 作者主页:物联网在电力行业的应用简介主要应用领域代码案例分析1. 智能电表数据采集和分析2. 设备监控和预测性维护3. 能耗管理和优化4. 电力负载预测5. 分布式能源管理6. 电动汽车充电管理7. 电网安全与故障检测 物联网在电力行业的应用…...
Java 代码规范if嵌套
在Java编程中,过度的if嵌套会使代码难以阅读和维护。为了遵循良好的代码规范,我们应尽量减少嵌套的深度。这通常可以通过重新组织代码或使用其他结构(如switch语句,或者将逻辑封装到单独的方法中)来实现。 以下是一个…...
ASPICE如何确保汽车软件产品质量的稳固基石
ASPICE通过一系列的方法和原则来保障汽车软件产品的质量,以下是其保障产品质量的几个关键方面: 制定明确的质量方针和目标: ASPICE要求组织制定明确的质量方针和目标,这些方针和目标与客户需求和预期相一致。 开发团队需要定义软…...

【深度学习】yolov8-seg分割训练,拼接图的分割复原
文章目录 项目背景造数据训练 项目背景 在日常开发中,经常会遇到一些图片是由多个图片拼接来的,如下图就是三个图片横向拼接来的。是否可以利用yolov8-seg模型来识别出这张图片的三张子图区域呢,这是文本要做的事情。 造数据 假设拼接方式有…...

Python升级打怪—Django入门
目录 一、Django简介 二、安装Django 三、创建Dajngo项目 (一) 创建项目 (二) 项目结构介绍 (三) 运行项目 (四) 结果 一、Django简介 Django是一个高级Python web框架,鼓励快速开发和干净、实用的设计。由经验丰富的开发人员构建,它解决了web开…...
leetcode面试题17.最大子矩阵
sooooooo long没刷题了,汗颜 题目链接:leetcode面试题17 1.题目 给定一个正整数、负整数和 0 组成的 N M 矩阵,编写代码找出元素总和最大的子矩阵。 返回一个数组 [r1, c1, r2, c2],其中 r1, c1 分别代表子矩阵左上角的行号和…...

计算机网络:构建联结的基础
目录 1. 网络拓扑结构 1.1 星型拓扑 1.2 环型拓扑 1.3 总线型拓扑 1.4 网状拓扑 2. 传输介质 2.1 双绞线 2.2 同轴电缆 2.3 光纤 2.4 无线电波 3. 协议栈模型 3.1 OSI模型 3.2 TCP/IP模型 4. 网络设备 4.1 交换机 4.2 路由器 4.3 网关 4.4 防火墙 5. IP地址…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL
ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...
面试高频问题
文章目录 🚀 消息队列核心技术揭秘:从入门到秒杀面试官1️⃣ Kafka为何能"吞云吐雾"?性能背后的秘密1.1 顺序写入与零拷贝:性能的双引擎1.2 分区并行:数据的"八车道高速公路"1.3 页缓存与批量处理…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...

【若依】框架项目部署笔记
参考【SpringBoot】【Vue】项目部署_no main manifest attribute, in springboot-0.0.1-sn-CSDN博客 多一个redis安装 准备工作: 压缩包下载:http://download.redis.io/releases 1. 上传压缩包,并进入压缩包所在目录,解压到目标…...