提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吉伟伟|2024-10-31 15:40:27.690|阅读 10 次
概述:本文介绍了 TX Text Control 真正的 WYSIWYG(所见即所得)模板系统所带来的独特优势,与传统的 PDF 生成系统(如 HTML 到 PDF 转换器或需要自定义编程的 PDF 库)相比,模板是可视化设计的,类似于 Microsoft Word。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
TX Text Control 是一款功能类似于 MS Word 的文字处理控件,包括文档创建、编辑、打印、邮件合并、格式转换、拆分合并、导入导出、批量生成等功能。广泛应用于企业文档管理,网站内容发布,电子病历中病案模板创建、病历书写、修改历史、连续打印、病案归档等功能的实现。
在文档处理应用程序中比较文档的策略有很多。最常见的方法之一是逐字比较文档的文本。这是一种简单有效的文档比较方法,但它确实有一些局限性。
当您在应用程序开发中接到创建 PDF 文档的任务时,您会进行研究并找到许多不同的工具来帮助您完成这项工作。当然,您可以尝试自己创建 PDF,方法是研究最新的 PDF 2.0 规范(ISO 32000:2:2020)的约 1000 页,其中包含有关 PDF 文件格式、渲染、加密和其他功能的所有技术细节。但让我们面对现实:这是一项巨大的时间投入,有整个公司都在处理此事(例如我们 - Text Control)。
第一步是确定要创建哪种类型的 PDF 文档,最重要的是要确定要创建多少个。当涉及到 PDF 创建过程所需的灵活性时,这一决定至关重要。决策过程中还应考虑许多其他方面。
仅这三个问题就可以开启一个完整的思考过程,即文档生成过程应该如何模块化和易于维护。
HTML 到 PDF 的转换
开发人员的一个非常普遍的想法是使用工具将 HTML 转换为 PDF。理由听起来很正确,因为作为开发人员,我们知道如何编写 HTML,并且对 HTML 和 CSS 样式充满信心。因此,此过程的基本思想是开发人员使用 CSS 创建 HTML,转换器根据该输入创建 PDF。流行的库包括 wkhtmltopdf、Puppeteer 和 Headless Chrome。
优点:
缺点:
对于简单文档或需要从网页创建 PDF 时,HTML 到 PDF 的转换是一个不错的选择。但是对于发票、报告或合同等复杂文档,HTML 到 PDF 转换器有其局限性。
程序化 PDF 生成
了解了 HTML 方法的局限性之后,使用一种能够更精确地定位元素的方法似乎是显而易见的。
程序化 PDF 创建是使用编程接口创建 PDF 文档的过程。这种方法更加灵活,允许您创建具有精确布局和样式的复杂文档。在您的代码中,您基本上将某些元素定位在页面上的 x 和 y 坐标上。
优点:
缺点:
对于需要精确布局和样式的复杂文档,程序化 PDF 生成是一个不错的选择。但是,它可能非常耗时,并且需要编程技能来创建和维护模板。
以下代码片段使用 QuestPDF,这是一个用于创建 PDF 文档的开源 .NET 库。该代码基本上将文本添加到标题中,您已经可以看到这提供了一种灵活的方式,但所有元素都必须以编程方式定位,并且静态文本也嵌入到代码中。
void ComposeHeader(IContainer container) { var titleStyle = TextStyle.Default.FontSize(20).SemiBold().FontColor(Colors.Blue.Medium); container.Row(row => { row.RelativeItem().Column(column => { column.Item().Text($"Invoice #{Model.InvoiceNumber}").Style(titleStyle); column.Item().Text(text => { text.Span("Issue date: ").SemiBold(); text.Span($"{Model.IssueDate:d}"); }); column.Item().Text(text => { text.Span("Due date: ").SemiBold(); text.Span($"{Model.DueDate:d}"); }); }); row.ConstantItem(100).Height(50).Placeholder(); }); }
更高的维护和技术债务
由于程序化 PDF 中的布局逻辑嵌入在代码中,因此任何模板调整都需要更改代码,即使是微小的调整也是如此。这会导致:
基于模板的 PDF 生成
基于模板的系统允许用户直观地设计 PDF 模板,通常使用与文字处理器非常相似的拖放界面。此设置允许 WYSIWYG(所见即所得)设计,其中模板看起来与最终输出完全相同。
TX Text Control 不仅可用于从头开始编写 PDF(如第二种方法中所述),还可用于使用 WYSIWYG 模板的最灵活方法。TX Text Control 附带一个功能齐全、可自定义且可编程的文档编辑器,可集成到 Web 应用程序中,让非技术用户创建像素完美的模板。SDK 还提供了一个非 UI 引擎,可完全嵌入到采用此模板并将来自各种数据源的数据合并到模板中的应用程序中。
这个概念不仅让您能够为用户提供一个非常易于使用的模板创建界面,而且还为您在合并过程中提供充分的灵活性。
优点:
缺点:
TX Text Control 将强大的动态文档生成功能(如合并字段、重复和条件合并块)与易于使用的模板设计相结合。
以下代码使用 TX Text Control 加载预先设计的模板并将 JSON 数据合并到其中以创建像素完美的 PDF。
using TXTextControl.DocumentServer.Fields; using (TXTextControl.ServerTextControl tx = new TXTextControl.ServerTextControl()) { tx.Create(); TXTextControl.LoadSettings ls = new TXTextControl.LoadSettings() { ApplicationFieldFormat = TXTextControl.ApplicationFieldFormat.MSWord, LoadSubTextParts = true }; tx.Load("template.docx", TXTextControl.StreamType.WordprocessingML, ls); using (TXTextControl.DocumentServer.MailMerge mailMerge = new TXTextControl.DocumentServer.MailMerge()) { var jsonData = System.IO.File.ReadAllText("data.json"); mailMerge.TextComponent = tx; mailMerge.MergeJsonData(jsonData); } tx.Save("output.pdf", TXTextControl.StreamType.AdobePDF); }
结论
每种方法都有不同的用途,选择方法通常取决于文档类型、布局复杂程度和可用的技术专长。TX Text Control 等解决方案具有所见即所得的设计和灵活的数据合并功能,提供了理想的折中方案,将模板设计的视觉简洁性与强大的 PDF 生成功能相结合。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:慧都网TX Text Control .NET for WPF 分标准,专业,及企业三个版本,是一套专业的文字处理控件。
TX Text Control ActiveX是一个强大的文字处理组件,为开发者提供一个广泛的文字处理功能。它提供了全面的文本格式,邮件合并功能和文字处理关键性功能,如表格支持,图片,页眉和页脚、页面部分等。
TX Text Control .NET for Windows Forms 是一套功能丰富的文字处理控件。
本文将探讨如何使用 Spire.XLS for .NET 在 C# 程序中导入 Excel 数据到数据库以及导出数据库到 Excel 文件,实现数据在 Excel 和数据库之间无缝流转。
在本文中,我们将向您展示如何逐步执行此操作,告诉您什么是 SCORM,为什么需要使用它,并列出我们测试过的最佳 SCORM 转换工具之一——iSpring Suite。
本文主要介绍如何使用Kendo UI for Angular组件的ListView来构建带有图表的仪表板,欢迎下载新版控件体验!
在本文中,您将学习如何使用Spire.PDF for .NET在 C# 中向 PDF 文档添加页码。
TX Text Control .NET for WPF 分标准,专业,及企业三个版本,是一套专业的文字处理控件。
TX Text Control ActiveXTX Text Control ActiveX是一个强大的文字处理组件,为开发者提供一个广泛的文字处理功能。它提供了全面的文本格式,邮件合并功能和文字处理关键性功能,如表格支持,图片,页眉和页脚、页面部分等。
TX Text Control .NET for Windows FormsTX Text Control .NET for Windows Forms 是一套功能丰富的文字处理控件。
TX Text Control .NET Server for ASP.NET一个将文档处理集成到 Web 应用程序中的文档管理控件。
TX Text Control ActiveX ServerTX Text Control ActiveX Server是一个完全可编程的,用于ASP.NET服务器环境与 Microsoft Internet Explorer的文字处理引擎。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢