.net iText7:无法读取许可证密钥json文件

3phpmpom  于 2022-12-01  发布在  .NET
关注(0)|答案(2)|浏览(302)

我试图在我的. Net应用程序(C#编程语言)中加载iText7的许可证文件。我已经使用下面提到的语法给出了json文件的正确路径。

LicenseKey.LoadLicenseFile(new FileStream(@"pathtofile\iTextKey.json", FileMode.Open));

我收到的错误消息是:

Data at the root level is invalid. Line 1, position 1.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
   at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlTextReaderImpl.Read()
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at iText.License.Util.XmlWorker..ctor(Stream stream)
   at iText.License.LicenseKey.LoadLicenseFileInternal(Stream licenseIs)
   at iText.License.LicenseKey.LoadLicenseFile(Stream licenseIs)

我验证了JSON文件,它看起来没问题。
任何帮助解决这个问题的人都会有很大的帮助。

dw1jzc5e

dw1jzc5e1#

从堆栈跟踪中可以看出,它试图将文件解析为XML。
请参阅docs
但是,如果您有JSON许可证密钥文件,请参阅iText 7.2.x的说明。
安装iText 7.2。

3xiyfsfu

3xiyfsfu2#

尽管我通过nuget软件包安装了iText v7.2.4和iText.Licensing.Base v4.0.4,但我还是遇到了同样的错误。结果发现我的解决方案也有一个旧版本的iText(通过导入的库),并且使用的 LoadLicenseFile 方法来自那个旧库。
换句话说,请确保您调用的完全限定方法是 iText.Licensing.Base.LicenseKey.LoadLicenseFile

相关问题