Xamarin.ios itext7—System.TypeInitializationException:用于';iText.IO.Util.ResourceUtil';抛出异常

Xamarin.ios itext7—System.TypeInitializationException:用于';iText.IO.Util.ResourceUtil';抛出异常,xamarin.ios,xamarin.forms,xamarin.android,itext,itext7,Xamarin.ios,Xamarin.forms,Xamarin.android,Itext,Itext7,我在itext PDF generator中为Xamarin表单应用程序(Android和IOS)尝试了POC 已检查的方案: itext sharp版本:5.5.21-在PCL项目和本地项目中都运行良好。 itext7版本:7.1.0-出现以下错误 System.TypeInitializationException: The type initializer for 'iText.IO.Util.ResourceUtil' threw an exception. ---> Syst

我在itext PDF generator中为Xamarin表单应用程序(Android和IOS)尝试了POC

已检查的方案: itext sharp版本:5.5.21-在PCL项目和本地项目中都运行良好。 itext7版本:7.1.0-出现以下错误

System.TypeInitializationException: The type initializer for 
'iText.IO.Util.ResourceUtil' threw an exception. ---> 
System.TypeInitializationException: The type initializer for 
'Microsoft.Extensions.DependencyModel.DependencyContextLoader' threw an 
exception. ---> System.TypeInitializationException: The type initializer for
 'Microsoft.Extensions.DependencyModel.DependencyContextPaths' threw an 
exception. ---> System.NotImplementedException: The method or operation is not 
implemented.
在论坛上,有人说这在以前的版本中已经修复。任何我需要在之前初始化的东西。附上下面的代码

PdfDocument pdf = new PdfDocument(new PdfWriter(fs, new WriterProperties().AddXmpMetadata()));
Document document = new Document(pdf);

pdf.SetTagged();
pdf.GetCatalog().SetLang(new PdfString("en-US"));
pdf.GetCatalog().SetViewerPreferences(new PdfViewerPreferences().SetDisplayDocTitle(true));
PdfDocumentInfo info = pdf.GetDocumentInfo();
info.SetTitle("iText7 PDF/UA example");

PdfFont font = PdfFontFactory.CreateFont(FONT, PdfEncodings.WINANSI, true);
Paragraph p = new Paragraph();
p.SetFont(font);
 p.Add(new Text("The quick brown "));

document.Add(p);
document.Close();

当断点点击Pdfont时,它会引发上述错误。

您的代码适用于iText 5,但不适用于iText 7。这是正常的。iText 7是对iText 5的完全重写(从头开始!)。API是不向后兼容的,因此如果您有iText 5代码,如果您希望该代码适用于iText 7,就必须重写它(从头开始!)

您得到所有这些异常是因为所有这些方法(甚至其中许多类)不再存在于iText 7中;它们已被其他方法(和类)替换


本教程将为您提供一个快速入门:我已经从nuget安装了itext7。当作为控制台应用程序执行时,同样的代码可以正常工作,但在Xamarin表单和PCL中不起作用。