微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

IText 7 对象引用未设置为对象的实例

如何解决IText 7 对象引用未设置为对象的实例

我需要将一些 html 转换为 PDF。我遇到了 IText7,它看起来是一个不错的解决方案。

我正在 .net core 3.1 中开发

但是,即使使用它的基本实现,我也会收到一个错误

string basicPage = "<html><body><h1>My First heading</h1><p>My first paragraph.</p></body></html>";

using (FileStream pdfDest = File.Open(@"C:\Users\Trevo\Desktop\output.pdf",FileMode.OpenorCreate))
{
    ConverterProperties converterProperties = new ConverterProperties();
    HtmlConverter.ConvertToPdf(basicPage,pdfDest,converterProperties);
}

错误是每个人的最爱:

未将对象引用设置为对象的实例。

内部异常为空,唯一的线索是 SerializationStackTraceString 是:

在 iText.IO.Font.FontCache..cctor()

所以,它指向与字体有关的东西?

我发现的唯一建议是清理各种目录和缓存。我从头开始创建了一个干净的解决方案,但发生了同样的错误

有人可以提供任何帮助吗?

解决方法

尝试使用默认字体提供程序

                var converterProperties = new ConverterProperties();
                converterProperties.SetFontProvider(new DefaultFontProvider(true,true,true));


,

请看这个:

Null Reference Exception when calling iText7 PdfAcroForm.GetAcroForm() in .Net Core 3.1 class library

还有这个:

iText7 convert HTML to PDF "System.NullReferenceException."

我希望能够将它们中的任何一个标记为重复,因为它们都是相同的问题 - iText7 自己的代码的内部问题,我们基本上必须忽略。但是,我无法将它们标记为重复,因为只有在接受其中一个答案时,该功能才会起作用。

但我只是想让你知道,这不是你的问题,而是他们的问题,所以在他们修复之前,请确保你在设置中启用了“Just My Code”。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。