使用C# ZUGFeRD-csharp库转换PDF至XRechnung(B2G)时遇异常求助
解决ZUGFeRD-csharp库生成XRechnung时的URN无效异常
问题分析
切换到Profile.XRechnung后抛出的URN无效异常,核心原因通常是:
- 库版本未适配XRechnung 2.2规范
- Schema文件配置错误(路径不匹配或文件不完整)
- 生成的XML数据不符合XRechnung格式要求,触发库的错误提示
具体解决方案
升级库版本
检查当前使用的s2industries.ZUGFeRDNuGet包版本,直接升级到支持XRechnung 2.2的稳定版(建议安装最新正式版)。旧版本可能未实现XRechnung 2.2的URN解析规则。正确配置Schema文件
下载ZUGFeRD 2.1.1完整Schema包后,不要替换原有Basic/Comfort等Schema文件,而是将XRechnung相关的所有xsd文件(包括依赖的基础Schema)放在独立目录,并在代码中指定路径:var writer = new ZUGFeRDWriter("input.pdf", "output.pdf") { Version = ZUGFeRDVersion.Version21, Profile = s2industries.ZUGFeRD.Profile.XRechnung, SchemaDirectory = @"你的XRechnung Schema目录路径" };确保目录包含
XRechnung_2.2.xsd以及所有关联的基础xsd文件(如EN16931-1-2017.xsd等)。验证XML数据合规性
异常可能是XML数据不符合XRechnung 2.2规范导致的间接错误。生成XML草稿后,使用官方验证工具检查数据格式,确保必填字段、数据类型完全符合XRechnung标准。手动指定URN(可选)
如果库自动生成URN存在问题,尝试手动指定正确的XRechnung URN:writer.CustomProfileUrn = "urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_2.2";
内容的提问来源于stack exchange,提问作者Karthik M
相关产品推荐
相关产品推荐

