Text Control 控件教程:使用 .NET C# 中的二维码和条形码增强文档

news2024/11/25 6:44:43

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

  • 产品包装
  • 发票
  • 库存管理
  • 活动票务
  • 登机证
  • 支付系统

在某些行业中,如果没有条形码,流程将无法进行。这包括医疗保健,可以通过扫描患者佩戴的腕带直接访问患者数据,或跟踪每日药物剂量。或物流,只需扫描装箱单或其他文件上的商品代码即可跟踪订单或在仓库中找到订单。在零售业,条形码用于跟踪库存、管理库存水平和加快结账流程。

TX Text Control 是一款功能类似于 MS Word 的文字处理控件,包括文档创建、编辑、打印、邮件合并、格式转换、拆分合并、导入导出、批量生成等功能。广泛应用于企业文档管理,网站内容发布,电子病历中病案模板创建、病历书写、修改历史、连续打印、病案归档等功能的实现。

TX Text Control 最新下载icon-default.png?t=N7T8https://www.evget.com/vendor/118


什么是条形码?

条形码是一种以视觉格式呈现数据的机器可读表示。它由不同宽度和间距的线条组成,可通过条形码扫描仪读取。QR 码是一种条形码,可以存储比传统条形码更多的信息。它是一种二维码,可以存储文本、URL、联系信息和其他数据。

最典型的条形码是:

  • 二维码

    二维码

    QR 码是一种二维条形码,可以存储比传统条形码更多的信息。它通常用于营销、广告和其他需要在小空间中存储更多信息的应用。

  • UPC(通用产品代码)

    UPC 条码

    UPC 代码是一种条形码,常用于零售店跟踪库存和销售情况。它由 12 位数字组成,可通过条形码扫描仪读取。

  • EAN(欧洲商品编号)

    EAN 代码

    EAN 码是一种条形码,在欧洲常用于跟踪库存和销售情况。它由 13 位数字组成,可通过条形码扫描仪读取。

  • 代码 39

    代码 39

    Code 39 是一种常用于物流和库存管理的条形码。它由不同宽度和间距的线条组成,可通过条形码扫描仪读取。

例如:装箱单

假设您有一张装箱单,其中包含要运送给客户的物品清单。为了在仓库或运输过程中跟踪物品,每件物品都有一个可以扫描的条形码。可以使用条形码扫描仪或带有条形码扫描应用程序的移动设备扫描条形码。条形码包含有关物品的信息,例如物品编号、说明和数量。

请看以下使用 TX Text Control 生成的包含各处条形码的装箱单的屏幕截图。TX Text Control 为所有行业标准的 1D 和 2D 条形码提供开箱即用的支持。

使用 TX 文本控件创建的装箱单

生成装箱单

使用 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 的所见即所得文档编辑器中看到创建的模板,它可以轻松集成到您的应用程序中。

使用 TX 文本控件创建的装箱单

开箱即用的用户界面提供了插入合并字段、重复部分和条形码所需的所有功能。

使用 TX 文本控件创建的装箱单

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

使用 TX 文本控件创建的装箱单

准备申请

为了本演示的目的,创建了一个.NET 8 控制台应用程序。

先决条件

以下教程需要 ASP.NET 的 TX Text Control .NET Server 试用版。

  • 下载试用版
  1. 在 Visual Studio 中,使用 .NET 8创建一个新的控制台应用程序。

  2. 解决方案资源管理器中,选择您创建的项目,然后从项目主菜单中选择管理 NuGet 包...。

    包源下拉菜单中选择文本控制离线包。

    安装以下软件包的最新版本:

    • TX文本控制.文本控制.ASP.SDK

创建 PDF

  1. 从本文末尾的 GitHub 存储库下载示例模板和 JSON 数据并将其添加到您的项目中。

  2. 通过双击解决方案资源管理器中的项目节点打开项目设置,然后将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 类可用于将数据合并到模板文档中并生成带有条形码的最终文档。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1941813.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cannot perform upm operation: connect ETIMEDOUT 34.36.199.114:443 [NotFound]

版本&#xff1a;Unity 2018 Windows 问题&#xff1a;打开 Package Manager&#xff0c;加载报错 尝试解决&#xff1a; 删除项目文件里的Packages下的mainfest.json文件&#xff0c;然后重新打开项目&#xff08;X&#xff09;重新登录 Unity 账号&#xff08;X&#xff09…

Http 和 Https 的区别(图文详解)

在现代网络通信中&#xff0c;保护数据的安全性和用户的隐私是至关重要的。HTTP&#xff08;Hypertext Transfer Protocol&#xff09;和 HTTPS&#xff08;Hypertext Transfer Protocol Secure&#xff09;是两种常见的网络通信协议&#xff0c;但它们在数据保护方面的能力存在…

立创梁山派--移植开源的SFUD万能的串行 Flash 通用驱动库

SFUD是什么 关于SFUD库的介绍&#xff0c;其开源链接(gitee,github)已经详细的阐述了. 这里是截取自它的一部分介绍&#xff1a; SFUD 是一款开源的串行 SPI Flash 通用驱动库。由于现有市面的串行 Flash 种类居多&#xff0c;各个 Flash 的规格及命令存在差异&#xff0c; SF…

Linux云计算 |【第一阶段】SERVICES-DAY5

主要内容&#xff1a; 源码编译安装、rsync同步操作、inotify实时同步、数据库服务基础 实操前骤&#xff1a;&#xff08;所需tools.tar.gz与users.sql&#xff09; 1.两台主机设置SELinnx和关闭防火墙 setenforce 0 systemctl stop firewalld.service //停止防火墙 sy…

<数据集>水果识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;10012张 标注数量(xml文件个数)&#xff1a;10012 标注数量(txt文件个数)&#xff1a;10012 标注类别数&#xff1a;7 标注类别名称&#xff1a;[Watermelon, Orange, Grape, Apple, peach, Banana, Pineapple] 序…

常见的数据集格式

常见的数据集格式有三种&#xff0c;分别为voc(xml)、coco(json)、yolo(txt)。 1 VOC VOC数据集由五个部分构成&#xff1a;JPEGImages&#xff0c;Annotations&#xff0c;ImageSets&#xff0c;SegmentationClass以及SegmentationObject. . └── VOC #根目…

基于微信小程序+SpringBoot+Vue的微信平台签到系统(带1w+文档)

基于微信小程序SpringBootVue的微信平台签到系统(带1w文档) 基于微信小程序SpringBootVue的微信平台签到系统(带1w文档) 微信平台签到系统使用Java语言进行编码&#xff0c;使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务&#xff0c;其管理微信平台…

使用Diffusion Models进行街景视频生成

Diffusion Models专栏文章汇总&#xff1a;入门与实战 前言&#xff1a;街景图生成相当有挑战性&#xff0c;目前的文本到视频的方法仅限于生成有限范围的场景的短视频&#xff0c;文本到3D的方法可以生成单独的对象但不是整个城市。除此之外街景图对一致性的要求相当高&#x…

IDEA新建module后变为普通文件夹

问题描述&#xff1a; 在父项目中创建module并构建子父关系&#xff0c;但在创建module并配置后出现未生效问题 在父项目中的pom.xml文件中添加 <modules><module>***</module></modules>在新建Module中添加 <parent><groupId>com.***&l…

UFO:革新Windows操作系统交互的UI聚焦代理

人工智能咨询培训老师叶梓 转载标明出处 人机交互的便捷性和效率直接影响着我们的工作和生活质量。尽管现代操作系统如Windows提供了丰富的图形用户界面&#xff08;GUI&#xff09;&#xff0c;使得用户能够通过视觉和简单的点击操作来控制计算机&#xff0c;但随着应用程序功…

3.Fabric系统架构、网络拓扑图、交易流程

Hyperledger Fabric系统架构 Fabric网络拓扑图 Fabric交易流程 多通道

硅谷裸机云大宽带服务器连接不上是怎么回事?该如何处理

硅谷裸机云大宽带服务器连接不上的常见原因主要有网络设置、网络设备、服务端、软件和服务、物理层等&#xff0c;出现以上问题&#xff0c;RAK部落小编建议大家可以通过以下一系列的方法进行排查和解决。具体分析如下&#xff1a; 1.检查网络设置   核对配置信息&#xff1a…

017、Vue动态tag标签

文章目录 1、先看效果2、代码 1、先看效果 2、代码 <template><div class "tags"><el-tag size"medium"closable v-for"item,index in tags":key"item.path":effect"item.title$route.name?dark:plain"cl…

centos/Ubuntu安装Java/Maven

上图就是今天在Linux环境下安装好Java和Maven后&#xff0c;打包Spring Boot项目的截图&#xff01; 安装Java centos # 安装 yum install -y java-1.8.0-openjdk*# 查看版本检测是否成功安装 java -versionUbuntu # 更新软件包 sudo apt-get update# 安装 sudo apt-get in…

React Native 与 Flutter:你的应用该如何选择?

Flutter 和 React Native 都被认为是混合应用程序开发中的热门技术。然而&#xff0c;当谈到为你的项目使用框架时&#xff0c;你必须考虑哪一个是最好的&#xff1a;Flutter 还是 React Native&#xff1f; 本篇文章包含 Flutter 和 React Native 在各个方面的差异。因此&…

【数据结构】顺序表(ArrayList的具体使用)

&#x1f387;&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳&#xff0c;欢迎大佬指点&#xff01; 欢迎志同道合的朋友一起加油喔 &#x1f4aa;&#x1f4aa;&#x1f4aa; 谢谢你这么帅…

7 Vue3

相比 Vue2 1. 优点 vue3支持vue2的大多数特性&#xff0c;实现对vue2的兼容vue3对比vue2具有明显的性能提升 打包大小减少41%初次渲染快55%&#xff0c;更新快133%内存使用减少54% 更好的支持TypeScript使用Proxy代替defineProperty实现响应式数据 2. 性能提升的原因 静态标…

图解 HDFS 架构 |读写过程

HDFS HDFS 全称 Hadoop Distributed File System&#xff0c;是一个分布式文件系统。HDFS&#xff08;Hadoop Distributed File System&#xff09;是 Apache Hadoop 生态系统的一部分&#xff0c;它是一个分布式文件系统&#xff0c;用于存储和处理大规模数据集。HDFS 专门设…

微信小程序中Map组件Marker中把Label文字信息通过按钮显示或隐藏

wxml页面按钮 <button bindtap"toggleLabel">Toggle Label</button>js data:{labelMarkerId: null // 记录当前显示文本的标记的 id }, //按钮切换显示 toggleLabel() {// 判断当前是否有显示的文本标记if (this.data.labelMarkerId ! null) {// 如果…

springboot+vue+mybatis校园闲置品交换平台+PPT+论文+讲解+售后

校园闲置品交换平台是校园闲置品交换平台必不可少的一个部分。在校园闲置品交换平台的整个过程中&#xff0c;校园闲置品交换平台担负着最重要的角色。为满足如今日益复杂的管理需求&#xff0c;各类校园闲置品交换平台管理程序也在不断改进。本课题所设计的校园闲置品交换平台…