VS2017.NET 4.7
我写了一个创建PDF的Web应用程序,我安装的唯一相关的nuget包是:
PDFsharp MigrDoc GDI v1.32.4334
它在我的开发机器上本地运行良好。
但当我把它发布到Azure时,我得到了错误:
无法检索字体数据
我发现我需要在代码中包含我用作资源的字体,因为它们可能不在Azure上。
我还发现了这个:
https://github.com/empira/PDFsharp/blob/master/src/PdfSharp/Fonts/PlatformFontResolver.cs
但我开始感到困惑了。我需要哪些包裹?我需要PDFsharp、MigraDoc还是两者都需要?
任何给我指明正确方向的帮助都会有所帮助。或。一个在Azure Web应用程序上工作的简单示例"Hello World"PDF(使用PDFsharpe/MigraDoc(解决方案。
感谢
MigraDoc是一组用于创建文档的API。
PDFsharp是一个创建PDF文件的库。
如果您使用MigraDoc API,您将需要MigraDoc和PDFsharp。如果您只使用PDFsharp API,那么您只需要包含PDFsharl的软件包,而不需要MigraDoc。
若要使用IFontResover,您需要WPF内部版本1.50或更高版本。
使用MigraDoc:
https://www.nuget.org/packages/PDFsharp-MigraDoc-wpf/1.50.4845-RC2a
仅PDFsharp:
https://www.nuget.org/packages/PDFsharp-wpf/1.50.4845-RC2a
EZFontResolver可能有助于简化IFontResover的使用:
https://forum.pdfsharp.net/viewtopic.php?f=8&t=3244
PDFsharp示例包括从资源加载字体的FontResolver示例:
https://github.com/empira/PDFsharp-samples