借助 TX Text Control:在 .NET C# 中验证 PDF/UA 文档

创建易于访问且符合规范的 PDF 文档正成为各行各业日益重要的需求。在本篇博文中,我们将探讨如何使用 Text Control 的 .NET 库验证 PDF/UA 文档,轻松确保生成的 PDF 符合无障碍标准。TX Text Control 34.0 将允许开发人员直接生成 PDF/UA 和 PDF/A-3a 文档,这对于长期、合规的文档归档而言是一项重大进步。

TX Text Control 官方试用版最新下载,请联系慧都科技

什么是 PDF/UA 和 PDF/A-3a?

PDF/UA(通用无障碍)制定了确保所有人都能访问 PDF 文档的标准,包括使用辅助技术(如屏幕阅读器)的用户。

PDF/UA 确保文档的结构、阅读顺序和元素描述得到正确定义,以便所有内容都能在语义上被理解。

另一方面,PDF/A-3a 是 ISO 标准化的归档 PDF 格式系列的一部分。它保证文档可以原封不动地复制,包括嵌入式附件和可访问内容(“a”代表“可访问性”)。

这两个标准都要求文档包含逻辑结构、语义标签和准确描述内容的元数据。

为什么验证至关重要

在生成 PDF/UA 文件或设计模板的过程中,一些标签或描述性元素经常会丢失或应用错误。即使文档在视觉上看起来没有问题,但它可能不符合无障碍或存档标准,因此无法通过合规性检查。

例如:

  • 某个图表可能缺少描述性文字。
  • 表格可能缺少正确的表头定义。
  • 阅读顺序或标签层级结构可能被打乱了。
  • 可能未设置语言或文档标题等元数据。

如果没有验证,这些问题很容易被忽视。

PDF/UA验证

在 34.0 版本中,我们将引入一个验证库,旨在帮助开发人员检查生成的 PDF 文档的合规性。

该库分析:

  • 文档结构树和标签层次结构
  • 元数据和语言设置
  • 表格、图表、表单字段和超链接的描述性文本
  • 表头和数据单元格的关系
  • 以及 PDF/UA 规范要求的其他与辅助功能相关的属性

它以结构化的 JSON 格式生成详细报告,并为控制台应用程序提供文本输出。这使得开发人员能够将验证直接集成到自动化测试或质量保证 (QA) 流程中。

C# 中的示例用法

以下是一个如何在 C# 应用程序中使用验证库的简单示例:

using TXTextControl.PDF.Validation;var report = PdfUaValidator.Validate("documents/hyperlink.pdf");
report.PrintText();

在这个例子中,我们首先创建一个验证器实例,然后验证文档。验证结果会输出到控制台,并可以序列化为 JSON 格式以进行进一步分析。

生成的 JSON 报告详细概述了文档中发现的所有合规性问题:

{"filePath": "documents/hyperlink.pdf","pdfVersion": "1.7","isPass": true,"documentTitle": "This is a sample PDF/UA document","documentLanguage": "en-US","findings": [{"ruleId": "UA-CONFORMANCE","severity": "Info","passed": true,"message": "PDF/UA-1 conformance declaration found in XMP."},{"ruleId": "PDFA-CONFORMANCE","severity": "Info","passed": true,"message": "PDF/A-3A declaration found in XMP."},{"ruleId": "PDF-HEADER","severity": "Error","passed": true,"message": "Found PDF header %PDF-1.7."},{"ruleId": "PDF-XREF","severity": "Warning","passed": true,"message": "Cross-reference table/stream appears present."},{"ruleId": "UA-CATALOG","severity": "Error","passed": true,"message": "Catalog dictionary present."},{"ruleId": "UA-MARKED","severity": "Error","passed": true,"message": "/MarkInfo \u003C\u003C /Marked true \u003E\u003E found (Tagged PDF)."},{"ruleId": "UA-STRUCT","severity": "Error","passed": true,"message": "/StructTreeRoot present."},{"ruleId": "UA-MCID-ANCHOR","severity": "Info","passed": true,"message": "Marked content (/MCID) present and at least one page has /StructParents anchors."},{"ruleId": "UA-TEXT-MAPPING","severity": "Info","passed": true,"message": "Font ToUnicode maps present (text is likely accessible)."},{"ruleId": "UA-LANG","severity": "Error","passed": true,"message": "/Lang present at document/page level."},{"ruleId": "UA-METADATA","severity": "Warning","passed": true,"message": "XMP metadata packet detected."},{"ruleId": "UA-TITLE","severity": "Error","passed": true,"message": "Document title found (Info or XMP dc:title)."},{"ruleId": "UA-TABS","severity": "Warning","passed": true,"message": "Page /Tabs setting present."},{"ruleId": "UA-FIG-ALT","severity": "Info","passed": true,"message": "Figures detected: 3; descriptive text tokens (/Alt or /ActualText): 3."},{"ruleId": "UA-LINK-DESC","severity": "Info","passed": true,"message": "Links: 2; all appear to have nearby tooltip/contents/ActualText."},{"ruleId": "UA-FORMS-TU","severity": "Info","passed": true,"message": "AcroForm detected; tooltips (/TU) count: 3."},{"ruleId": "UA-TABLE-A-SUMMARY","severity": "Info","passed": true,"message": "Tables: 3; all have /A with /Summary."},{"ruleId": "UA-TABLE-HEADERS","severity": "Info","passed": true,"message": "Tables with headers: OK=1, missing/invalid=0."}],"tableSummaries": [{"index": 1,"summaryText": "Table description","summaryRaw": "(\u00FE\u00FF\u0000T\u0000a\u0000b\u0000l\u0000e\u0000 \u0000d\u0000e\u0000s\u0000c\u0000r\u0000i\u0000p\u0000t\u0000i\u0000o\u0000n)","hasOTable": true,"source": "Obj 58: A 74 0 R","thTotal": 3,"thWithScope": 3,"tdWithHeaders": 0,"headersOk": true,"headersApplicable": true},{"index": 2,"summaryText": "Inner table","summaryRaw": "(\u00FE\u00FF\u0000I\u0000n\u0000n\u0000e\u0000r\u0000 \u0000t\u0000a\u0000b\u0000l\u0000e)","hasOTable": true,"source": "Obj 59: A 96 0 R","thTotal": 0,"thWithScope": 0,"tdWithHeaders": 0,"headersOk": true,"headersApplicable": false},{"index": 3,"summaryText": "Third table","summaryRaw": "(\u00FE\u00FF\u0000T\u0000h\u0000i\u0000r\u0000d\u0000 \u0000t\u0000a\u0000b\u0000l\u0000e)","hasOTable": true,"source": "Obj 60: A 122 0 R","thTotal": 0,"thWithScope": 0,"tdWithHeaders": 0,"headersOk": true,"headersApplicable": false}],"links": [{"index": 1,"linkText": "Descriptive Text","linkTextRaw": "(\u00FE\u00FF\u0000D\u0000e\u0000s\u0000c\u0000r\u0000i\u0000p\u0000t\u0000i\u0000v\u0000e\u0000 \u0000T\u0000e\u0000x\u0000t)","targetType": "URI","targetValue": "http://www.textcontrol.com","targetRaw": "(http://www.textcontrol.com)","source": "Annot window"},{"index": 2,"linkText": "Descriptive Text","linkTextRaw": "(\u00FE\u00FF\u0000D\u0000e\u0000s\u0000c\u0000r\u0000i\u0000p\u0000t\u0000i\u0000v\u0000e\u0000 \u0000T\u0000e\u0000x\u0000t)","targetType": "URI","targetValue": "http://www.textcontrol.com","targetRaw": "(http://www.textcontrol.com)","source": "Annot window"}],"figures": [{"index": 1,"altText": "image in  table","altRaw": "(\u00FE\u00FF\u0000i\u0000m\u0000a\u0000g\u0000e\u0000 \u0000i\u0000n\u0000 \u0000 \u0000t\u0000a\u0000b\u0000l\u0000e)","source": "Figure obj 55"},{"index": 2,"altText": "Barcode not in table","altRaw": "(\u00FE\u00FF\u0000B\u0000a\u0000r\u0000c\u0000o\u0000d\u0000e\u0000 \u0000n\u0000o\u0000t\u0000 \u0000i\u0000n\u0000 \u0000t\u0000a\u0000b\u0000l\u0000e)","source": "Figure obj 56"},{"index": 3,"altText": "Image description","altRaw": "(\u00FE\u00FF\u0000I\u0000m\u0000a\u0000g\u0000e\u0000 \u0000d\u0000e\u0000s\u0000c\u0000r\u0000i\u0000p\u0000t\u0000i\u0000o\u0000n)","source": "Figure obj 57"}],"forms": [{"index": 1,"fieldName": "list item","fieldNameRaw": "(list item)","fieldType": "Ch","tooltip": "list item","tooltipRaw": "(list item)","source": "Obj 10"},{"index": 2,"fieldName": "company_name","fieldNameRaw": "(company_name)","fieldType": "Tx","tooltip": "company_name","tooltipRaw": "(company_name)","source": "Obj 13"},{"index": 3,"fieldName": "is_client","fieldNameRaw": "(is_client)","fieldType": "Btn","tooltip": "is_client","tooltipRaw": "(is_client)","source": "Obj 15"}],"standards": [{"standard": "PDF/UA","part": "1","conformance": null,"source": "XMP"},{"standard": "PDF/A","part": "3","conformance": "A","source": "XMP"}]
}

返回的Report对象提供了对验证结果的结构化访问,使得集成到现有工作流程中变得容易。

结论

即将发布的 TX Text Control 34.0 版本将为开发人员提供强大的工具,使他们能够直接在 .NET 应用程序中创建和验证符合 PDF/UA 和 PDF/A-3a 标准的文档。该验证库简化了确保可访问性和合规性的流程,使开发人员能够自信地满足行业标准。

TX Text Control 官方试用版最新下载,请联系慧都科技

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

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

相关文章

2025年比较好的实木公寓床厂家推荐及选购指南

2025年比较好的实木公寓床厂家推荐及选购指南 随着家居市场对环保、耐用与空间利用率需求的提升,实木公寓床凭借其天然质感与稳固性成为学生公寓、青年公寓及小户型家庭的首选。2025年,以下五家企业在产品研发、工艺…

2025年厦门影视制作公司TOP5推荐:厦门蓝火焰影视全解析

在短视频与品牌影视内容爆发的时代,优质影视制作服务是企业传递品牌价值、触达目标受众的核心载体。面对市场上良莠不齐的服务商,如何找到场景搭建专业、项目执行高效、作品口碑过硬的合作伙伴?以下为你盘点2025年厦…

2025年比较好的提升机厂家最新用户好评榜

2025年比较好的提升机厂家最新用户好评榜 在工业自动化与智能物流快速发展的背景下,提升机作为物料输送的核心设备,其性能、稳定性和智能化水平直接影响生产效率。2025年,用户对提升机厂家的技术实力、售后服务及性…

2025 年板材源头厂家最新推荐排行榜:聚焦 ENF 级环保板材,精选家实力企业助力装修选材

引言 当前建材市场中,板材品类繁杂,环保不达标、质量参差不齐、性能难匹配需求等问题频发,让消费者和装修从业者在选材时倍感困扰。传统板材的苯系物释放、易燃、施工复杂等痛点,不仅影响居住安全与健康,还可能增…

PPT处理控件Aspose.Slides教程:使用Java将PowerPoint笔记导出为PDF

Aspose.Slides for Java使用户能够轻松地操作幻灯片、添加注释和转换文件。其易用性和集成能力提高了工作效率,使开发人员能够专注于更关键的任务。在 Java 中将PowerPoint备注导出为PDF对于需要共享带有注释的演示文…

2025年口碑好的重型三节轨厂家最新TOP排行榜

2025年口碑好的重型三节轨厂家最新TOP排行榜 随着家居定制行业的快速发展,重型三节轨作为橱柜、衣柜等家具的核心配件,其质量与性能直接影响产品的使用寿命和用户体验。2025年,市场上涌现出众多优秀的重型三节轨生…

2025年知名的工业净化铝材厂家最新热销排行

2025年知名的工业净化铝材厂家最新热销排行 随着工业4.0和绿色制造的快速发展,工业净化铝材因其轻量化、耐腐蚀、高强度等特性,在半导体、医疗、新能源等领域需求激增。以下是2025年市场表现优异、口碑突出的5家工业…

2025年学习点茶机构权威推荐榜单:点茶课堂/点茶教学/点茶培训源头机构精选

在传统文化复兴与消费升级的双重驱动下,点茶作为宋代茶文化的重要代表,近年来学习需求显著增长。据行业数据统计,2025年茶文化产业规模预计突破5000亿元,年复合增长率保持在12.5%左右,其中点茶培训机构的数量较20…

存储成本降半、处理效率倍增:火山引擎多模态数据湖如何支撑Agent规模化落地

2025年,智能体(AI Agent)已成为人工智能领域最具前瞻性的技术方向与产业焦点。各行各业对企业级 Agent 的研发与应用持续深入,其核心目标在于显著提升业务运营效能与决策智能化水平。在此背景下,火山引擎数智平台…

2025年靠谱的圆盘耙TOP实力厂家推荐榜

2025年靠谱的圆盘耙TOP实力厂家推荐榜 在农业机械化快速发展的今天,圆盘耙作为土壤耕作的重要工具,其性能与质量直接影响作业效率和作物产量。选择一家技术成熟、口碑可靠的圆盘耙生产厂家至关重要。本文基于产品性…

北京石材结晶服务公司白皮书,石材结晶服务选择哪家好

在现代商业空间与住宅的维护中,石材作为地面、墙面及装饰面的核心材料,其光泽度与耐用性直接影响整体空间的品质感。而石材结晶作为恢复石材光泽、延长使用寿命的关键工艺,正成为越来越多用户的刚需——它能在石材表…

2025年口碑好的成都中空板TOP实力厂家推荐榜

2025年口碑好的成都中空板TOP实力厂家推荐榜 在当今快速发展的包装行业中,中空板因其轻便、耐用、环保等特性,广泛应用于光伏、新能源、电子包装等领域。成都是中国西南地区的重要工业基地,拥有众多专业的中空板生…

2025 年磨粉机厂家最新推荐榜单:优质厂家深度解析,含超细 / 节能机型实力对比立式双动力磨粉机 / 节能磨粉机公司推荐

引言 在粉体加工领域,磨粉机的性能直接影响生产效率与产品质量,其应用覆盖矿山、建材、化工等多行业。为帮助采购者精准筛选优质品牌,行业协会联合专业测评机构开展了 2025 年度磨粉机品牌测评。测评通过 “三维九项…

2025年酒窖设计定制推荐排行榜:会所酒窖设计多少钱

2025年生活服务市场中,私人酒窖定制需求持续攀升,迷你酒窖设计定制方案、会所酒窖设计及酒窖设计价格评估成为高净值人群与商业空间关注的核心议题。葡萄酒储存对温湿度、通风、光照的严苛要求,叠加千瓶级藏酒的智能…

2025 年清洗剂源头厂家最新推荐榜单权威发布:深度解析行业领先者核心竞争力及优质品牌选择指南BMS/FPC 软板 / PCBA/IC 芯片 / 双溶剂清洗剂公司推荐

引言 在电子制造行业快速发展的背景下,清洗剂作为关键辅助材料,其品质与性能直接影响电子组件质量。为助力下游企业精准选择优质清洗剂源头厂家,国际电子工业连接协会联合行业权威机构开展专项测评,形成 2025 年清…

2025年口碑好的耐磷酸涂层行业内口碑厂家排行榜

2025年口碑好的耐磷酸涂层行业内口碑厂家排行榜 耐磷酸涂层作为工业防腐领域的重要材料,广泛应用于化工、冶金、电力等行业,其性能直接影响设备寿命和生产安全。随着技术进步,市场对涂层的耐腐蚀性、耐磨性和施工便…

给你10亿数据,如何做迁移?

前言 某次金融系统迁移项目中,原计划8小时完成的用户数据同步迟迟未能完成。 24小时后监控警报显示:由于全表扫描SELECT * FROM users导致源库CPU几乎熔毁,业务系统被迫停机8小时。 这让我深刻领悟到——10亿条数据…

2025年昆山上海叉车培训公司新排行榜,求推荐叉车培训公司

2025年物流、仓储、制造行业持续扩张,对具备专业技能与合法资质的叉车操作人员需求激增,求推荐叉车培训公司、寻找专业的叉车培训机构、办理正规叉车培训证成为职场人群与企业的核心诉求。然而当前市场中,叉车培训机…

军工软件工业化突围: 重构智能版本管理的五大核心路径

Gitee DevSecOps:军工软件研发的智能化变革引擎 在军工软件研发领域,复杂依赖链管理、变更风险控制和跨团队协作效率三大痛点长期制约着行业发展。传统研发模式下,多系统多模块的嵌套依赖关系如同错综复杂的神经网络…

2025年评价高的电镀重防腐涂料品牌厂家排行榜

2025年评价高的电镀重防腐涂料品牌厂家排行榜 随着工业技术的不断发展,电镀重防腐涂料在石油化工、海洋工程、电力设施、桥梁建筑等领域的应用越来越广泛。优质的防腐涂料不仅能延长设备使用寿命,还能大幅降低维护成…