Lorsque vous appelezErreur lors de l'appel PdfFontFactory.CreateFont, System.NotSupportedException: Le membre invoqué est pas pris en charge dans un ensemble dynamique C# WebApp
PdfFontFactory.CreateFont(FontConstants.HELVETICA);
ou
PdfFontFactory.CreateFont();
dans une application web, cible cadre 4.0, je reçois erreur suivante.
[NotSupportedException: The invoked member is not supported in a dynamic assembly.]
System.Reflection.Emit.InternalAssemblyBuilder.get_Location() +52
iText.IO.Util.ResourceUtil.<LoadITextResourceAssemblies>b__3(Assembly a) +30
System.Linq.WhereSelectListIterator`2.MoveNext() +115
System.Linq.Buffer`1..ctor(IEnumerable`1 source) +239
System.Linq.Enumerable.ToArray(IEnumerable`1 source) +77
iText.IO.Util.ResourceUtil.LoadITextResourceAssemblies() +172
iText.IO.Util.ResourceUtil..cctor() +125
[TypeInitializationException: The type initializer for 'iText.IO.Util.ResourceUtil' threw an exception.]
iText.IO.Font.Type1Parser.GetMetricsFile() +127
iText.IO.Font.Type1Font.Process() +53
iText.IO.Font.Type1Font..ctor(String metricsPath, String binaryPath, Byte[] afm, Byte[] pfb) +131
iText.IO.Font.FontProgramFactory.CreateFont(String name, Byte[] fontProgram, Boolean cached) +381
iText.Kernel.Font.PdfFontFactory.CreateFont(String fontProgram, String encoding) +29
iText.Kernel.Font.PdfFontFactory.CreateFont(String fontProgram) +31
PdfCreator.x(String pdf_file_name) in x.cs:165
ASP.x_cshtml.Execute() in x.cshtml:40
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +196
System.Web.WebPages.WebPage.ExecutePageHierarchy(IEnumerable`1 executors) +68
System.Web.WebPages.WebPage.ExecutePageHierarchy() +151
System.Web.WebPages.StartPage.RunPage() +19
System.Web.WebPages.StartPage.ExecutePageHierarchy() +62
System.Web.WebPages.StartPage.RunPage() +19
System.Web.WebPages.StartPage.ExecutePageHierarchy() +62
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +76
System.Web.WebPages.WebPageHttpHandler.ProcessRequestInternal(HttpContextBase httpContext) +114
Je pensais que je pouvais contourner le problème en utilisant uniquement
PdfFontFactory.Register(windows_fonts + "ARIAL.TTF", "Arial");
PdfFont Arial = PdfFontFactory.CreateRegisteredFont("Arial");
mais qui résulteront que dans un fichier PDF vide sans erreur cependant.
Quand je lance le même code dans un C# console app-je obtenir un fichier PDF valide avec toutes les polices. De plus, l'application de console C# cible .net 4, donc je suis assez convaincu que cela n'a rien à voir avec le framework cible. Merci pour vos commentaires.
Il y a un bug dans la version C# de la bibliothèque. S'il vous plaît voir cette demande de tirage pour plus de détails comment fixer localement, ou attendez une solution de l'équipe iText: https://github.com/itext/itext7-dotnet/pull/2 –
Merci, maintenant je comprends mon problème. –