将金融文件转化为ASP.NET Core C#中的智能且安全的表单

news2024/11/16 2:29:47

在财务流程中,法律要求所有协议和合同均需有纸质副本。无论您使用的是移动数据采集前端、功能强大的文档查看器还是任何其他数据采集流程,最终结果都是经过数字签名的 PDF 或纸质副本。

在大流行期间,数字文档处理变得流行且必要。这些年来,数字化流程已经成为用户的期望。金融业数字化转型势在必行。

访问银行分行的需求几乎已经过时,而客户行为的这种变化是创新背后的驱动力。金融行业现在比以往任何时候都更加关注数字化转型。但监管要求和用户期望要求数字化过程必须流畅、轻松,并且 PDF 必须像素完美。

本文介绍如何在 ASP.NET Core C# 中将财务文档转换为智能且安全的表单。本文解释了从预填充表单字段到数字签名的所有必要步骤。

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

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

数字表格处理

表格处理是金融行业的一项常见任务。表格可以是任何形式,从简单的申请表到复杂的合同。让我们看一下下面的商家申请表。

使用 TX Text Control 进行表单处理

TX 文本控制库支持完整的表单生命周期,从表单创建和设计,到数据捕获,再到带有数字签名的最终 PDF 生成。以下屏幕截图显示了用于设计表单的文档编辑器。

使用 TX Text Control 进行表单处理

它提供了功能齐全的所见即所得编辑器,供用户创建带有表单字段、像素完美布局、公式和签名字段的表单模板。该表单可以以专有格式保存,也可以作为行业标准 DOCX 格式的模板保存。

事实上,文档以可编辑的格式存在,而不是作为 PDF 添加到流程中,这是 TX Text Control 生态系统的巨大优势。可以编辑、更新和更改表单,而无需重新创建 PDF。最后,文档将生成为可打印且可存档的 PDF 文档。

数据准备

表单设计完成后,应由用户填写。数据捕获过程可以通过多种方式完成。该表格可以在网络应用程序、移动应用程序或桌面应用程序中填写。然后,数据被发送到服务器,在服务器中数据被处理并合并到表单模板中。

但在将表单呈现给最终用户之前,可以将已知数据预先填充到表单字段中。这可以通过使用将表单模板与数据源合并的数据合并过程来实现。以下屏幕截图显示了没有数据合并到表单中的文档查看器。

使用 TX Text Control 进行数据准备

以下代码使用合并到表单字段的 JSON 数据来预先选择已知字段。

public IActionResult Index()
{
using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl())
{
tx.Create();
tx.Load("App_Data/gpay_application.tx", TXTextControl.StreamType.InternalUnicodeFormat);

var jsonData = System.IO.File.ReadAllText("App_Data/data.json");

using (MailMerge mm = new MailMerge())
{
mm.TextComponent = tx;
mm.FormFieldMergeType = FormFieldMergeType.Preselect;
mm.MergeJsonData(jsonData);
}

byte[] data;
tx.Save(out data, TXTextControl.BinaryStreamType.InternalUnicodeFormat);

ViewBag.Document = Convert.ToBase64String(data);
}

return View();
}

以下 JSON 数据合并到表单字段中:

[
{
"business": {
"dba": {
"name": "My Business",
"street": "123 Main St",
"city": "Anytown",
"state": "North Carolina",
"zip": "12345",
"phone": "555-555-5555",
"contact": "John Doe",
"email": "",
"website": ""
},
"legal": {
"name": "My Business",
"street": "123 Main St",
"city": "Anytown",
"state": "North Carolina",
"zip": "12345",
"phone": "555-555-5555",
"contact": "John Doe",
"email": "",
"website": ""
}
},
"merchant": {
"ticker": "123456",
"ownership": "Corporation",
"goods": "Retail",
"sic": "1234",
"years": "5",
"taxid": "123-45-6789",
"type_retail": true,
"signer": "John Doe",
"sales": {
"swiped": "80",
"keyed": "10",
"internet": "5",
"order": "5"
},
"acceptno": true
}
}
]

以下屏幕截图显示了将 JSON 数据合并到表单字段的文档查看器。

使用 TX Text Control 进行数据准备

公式和验证

将数据合并到表单字段时,会自动计算公式。以下屏幕截图显示了计算给定销售概况的百分比的公式。

使用 TX Text Control 进行数据准备

此外,TX Text Control 使用条件指令提供复杂的表单验证和自动化,这些条件指令在用户填写表单时进行评估。

数字签名

填写表单后,用户可以对文档进行数字签名。以下屏幕截图显示了带有数字签名字段的文档查看器。

使用 TX Text Control 进行数字签名

以下代码将使用证书的数字签名应用于签名字段,并将文档导出为数字签名的 PDF/A 文档。

[HttpPost]
public string CreatePdf([FromBody] TXTextControl.Web.MVC.DocumentViewer.Models.SignatureData signatureData)
{
byte[] bPDF;

// create temporary ServerTextControl
using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl())
{
tx.Create();

// load the document
tx.Load(Convert.FromBase64String(signatureData.SignedDocument.Document),
TXTextControl.BinaryStreamType.InternalUnicodeFormat);

FlattenFormFields(tx);

// create a certificate
X509Certificate2 cert = new X509Certificate2("App_Data/textcontrolself.pfx", "123");

// assign the certificate to the signature fields
TXTextControl.SaveSettings saveSettings = new TXTextControl.SaveSettings()
{
CreatorApplication = "TX Text Control Sample Application",
SignatureFields = new DigitalSignature[] {
new TXTextControl.DigitalSignature(cert, null, "txsign")
}
};

// save the document as PDF
tx.Save(out bPDF, TXTextControl.BinaryStreamType.AdobePDFA, saveSettings);
}

// return as Base64 encoded string
return Convert.ToBase64String(bPDF);
}

下面的屏幕截图是经过数字签名的 PDF 文档的视图。

使用 TX Text Control 进行数字签名

结论

TX Text Control 为金融行业的数字表单处理提供完整的解决方案。文档编辑器、文档查看器和文档处理 Web API 支持从表单设计到数据捕获再到数字签名的完整生命周期。

TX Text Control 能够将数据合并到表单字段、评估公式和应用数字签名,是金融行业数字化转型的完美选择。

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

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

相关文章

高边坡监测常用的主要仪器设备

随着人类的发展,近几年由于人类生活生产的破坏,地球环境不断恶化。鉴于这一现象,监测行业也随之应运而生。常见的监测类型有:边坡监测,地灾监测,水库监测,大坝监测,矿山监测&#xf…

KineFX —— 简介

KineFX是绑定和动画的框架和工具集,可在SOP级别创建和编辑角色;可从头创建自己的KineFX角色,或使用特定的KineFX SOP和常规的SOP去编辑导入的角色和动画; 程序化绑定 KineFX构建与程序化绑定的原则上,可快速非破坏性迭…

Java基础入门day60

day60 购物车案例补充 设置欢迎页 打开也系统&#xff0c;就可以直接看到商品列表页面 之前曾经设置过欢迎页&#xff0c;都是针对页面&#xff0c;可以有html页面&#xff0c;也可以有jsp页面 但是今天我们将一个servlet设置成欢迎页 在web.xml文件中设置欢迎页 <welcome…

初探Flask:Pycharm社区版创建Flask项目

文章目录 一、创建工程二、引入Flask库1.使用命令行安装Flask2.在PyCharm中安装Flask 三、创建Flask框架基本文件四、运行项目 本文将带您一步步创建一个简单的Flask项目&#xff0c;包括设置Python环境、安装Flask库以及创建基本的项目结构。 一、创建工程 首先&#xff0c;确…

找到可靠的APP外包开发公司

找到可靠的APP外包开发公司需要经过一系列细致的筛选和评估。以下是寻找和选择一家合适的APP外包开发公司的步骤和注意事项。选择一家可靠的APP外包开发公司需要经过详细的研究和多方面的评估&#xff0c;确保公司能够满足项目需求并提供高质量的服务。北京木奇移动技术有限公司…

【乐吾乐3D可视化组态编辑器】灯光

灯光 在场景属性中&#xff0c;我们介绍了HDR&#xff0c;它的作用是为场景提供环境光&#xff0c;如果网格设置了PBR材质&#xff0c;那么网格表面就会反射出光照效果。这是为场景提供环境光的手段之一&#xff0c;但是它也有缺陷&#xff0c;一是只对PBR材质有效&#xff0c…

采用Java+ SpringBoot+ IntelliJ+idea开发的ADR药物不良反应监测系统源码

采用Java SpringBoot IntelliJidea开发的ADR药物不良反应监测系统源码 ADR药物不良反应监测系统有哪些应用场景&#xff1f; ADR药物不良反应监测系统有哪些应用场景&#xff1f; ADR药物不良反应监测系统具有广泛的应用场景&#xff0c;以下是一些主要的应用场景&#xff1a…

MT3048 区间按位或

思路&#xff1a; 使用ST表。ST表求区间最大值改为按位或即可。 ST模板可参考MT3024 maxmin 代码&#xff1a; 1.暴力6/10 #include <bits/stdc.h> using namespace std; const int N 2e5 10; const int M 5e5 10; int n, m; int num[N]; int main() {cin >&…

前端实习记录——git篇(公司拉取项目流程)

实习中第一步就是拉取项目&#xff0c;看项目代码&#xff0c;下面总结一下我在公司项目拉取项目流程。 1、联系leader开通gitlab账号 2、查看/配置git用户名和密码 &#xff08;1&#xff09;查看 git config user.name git config user.email git config user.password &…

8086 汇编笔记(二):寄存器(内存访问)

一、内存中字的存储 字单元的概念&#xff1a;字单元&#xff0c;即存放一个字型数据(16 位)的内存单元&#xff0c;由两个地址连续的内存单元组成 由上一章学习可知&#xff1a;高地址内存单元中存放字型数据的高位字节&#xff0c;低地址内存单元中存放字型数据的低位字节 …

【喜报】科大睿智多家服务企业上榜2024年第四批DCMM名单

近日&#xff0c;DCMM官方平台发布通知公告&#xff0c;根据《数据管理能力成熟度评估工作管理办法(暂行)》的有关规定&#xff0c;经单位自愿申请&#xff0c;评估机构评估、专家评审及公示&#xff0c;下列27单位获得数据管理能力成熟度等级证书。小编祝贺多家服务企业上榜20…

四川古力未来科技抖音小店畅享多重好处

在当今数字化浪潮席卷之下&#xff0c;四川古力未来科技抖音小店以其独特的魅力&#xff0c;正逐渐成为消费者们的新宠。作为融合了先进科技与便捷购物体验的创新平台&#xff0c;它不仅能够满足消费者的多样化需求&#xff0c;更在提升购物体验、优化服务流程等方面展现出了显…

【ubuntu20】--- 定时同步文件

在编程的艺术世界里&#xff0c;代码和灵感需要寻找到最佳的交融点&#xff0c;才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里&#xff0c;我们将共同追寻这种完美结合&#xff0c;为未来的世界留下属于我们的独特印记。 【Linux命令】--- 多核压缩命令大全&…

openresty(Nginx) 隐藏 软件包名称 版本号 升级新版本

1 访问错误或者异常的URL 2 修改配置&#xff0c;重新编译&#xff0c;升级 #修改版本等 vim ./bundle/nginx-1.13.6/src/core/nginx.h #define nginx_version 1013006 #define NGINX_VERSION "1.13.6" #define NGINX_VER "openresty/&q…

第二证券炒股知识:买可转债的条件?

买可转债需要开通可转债的权限&#xff0c;其间开通可转债权限需要满意2年买卖经历10万元资产量”的准入要求。 在买卖可转债时&#xff0c;需要留意以下买卖规则&#xff1a; 1、可转债买卖时刻为买卖日的9:30-11:30,13:00-15:00&#xff0c;其间9:15-9:25&#xff0c;9:15-9…

如何在OrangePi AIpro智能小车上实现安全强化学习算法

随着人工智能和智能移动机器人的广泛应用&#xff0c;智能机器人的安全性和高效性问题受到了广泛关注。在实际应用中&#xff0c;智能小车需要在复杂的环境中自主导航和决策&#xff0c;这对算法的安全性和可靠性提出了很高的要求。传统的强化学习算法在处理安全约束时存在一定…

[CVPR-24] HUGS: Human Gaussian Splats

本文提出一种新的数字人表征Human Gaussian Splats (HUGS)&#xff0c;可以实现新姿态和新视角生成&#xff1b;本文提出一种新的前向形变模块&#xff08;forward deformation module&#xff09;&#xff0c;在标定空间基于Gaussians表征数字人&#xff0c;并基于LBS学习如何…

【Pandas】深入解析`pd.read_sql()`函数

【Pandas】深入解析pd.read_sql()函数 &#x1f308; 欢迎莅临我的个人主页&#x1f448;这里是我深耕Python编程、机器学习和自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;并乐于分享知识与经验的小天地&#xff01;&#x1f387; &#x1f393; 博主简介&#xf…

开放式耳机推荐品牌:五款品质超凡机型必须选购

在这个快节奏的生活中&#xff0c;我们每个人都渴望在忙碌之余找到一片属于自己的宁静。音乐&#xff0c;作为连接心灵的桥梁&#xff0c;无疑是最为直接和有效的途径。而一款优秀的开放式耳机&#xff0c;不仅能让我们沉浸在美妙的旋律中&#xff0c;还能在保持对外界环境感知…

Golang os.Rename invalid cross-device link的原因

文章目录 背景运行环境 文件系统对比linux下的文件系统mac下的文件系统linux下的mv指令 golang的os.Rename源码os.Renamesyscall.Renamesyscall.RenameatSYS_RENAMEAT是什么 查看系统调用函数文档什么是man pageman page的用法user commandssystem calls renameat不支持跨挂载点…