是否可以在 Azure 应用服务上安装字体?
Is it possible to install fonts on an Azure App Service?
我们正在使用 MigraDoc/PDFsharp GDI+,这取决于将字体安装到系统以便进行渲染。我们已尝试嵌入字体,但 MigraDoc 的 GDI+ 版本似乎不支持此功能。
尝试将此组件移动到 Azure 应用服务时,找不到字体。有没有办法 "install" 将字体本地化到应用服务,以便它们对 GDI 可见?
据我所知,依赖于 GDI 的组件 API 可能无法在 Azure Web APP 上运行。我们可以在以下位置找到此已知问题:https://social.msdn.microsoft.com/Forums/en-US/6ed5c738-390a-4ca7-81d0-370124a4fc88/azure-websites-faq?forum=windowsazurewebsitespreview. At currently, please try to use Azure Web role or Azure VM instead. Please also vote this idea 在 Azure 反馈论坛上。
MigraDoc 使用 PDFsharp 生成 PDF 文件,PDFsharp 可以使用来自嵌入式资源或应用程序读取的文件的字体。
我会使用 PDFsharp/MigraDoc 1.50 或更高版本的 WPF 版本并使用 IFontResolver 接口。
如果满足您的需要,您可以使用通用的 EZFontResolver 实现:
http://forum.pdfsharp.net/viewtopic.php?f=8&t=3244
您可以在应用服务上使用 Windows 容器来安装自定义字体。方法如下:
开始使用 Windows 应用服务上的容器:
https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-windows-container
有点晚了 - 但迟到总比不到好!
我发现这其实很简单 - 我们都知道怎么做!
在应用服务的WWWROOT添加一个web.config
添加以下
你可能不需要 部分,除非你想要 CORS
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
<staticContent>
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
</system.webServer>
</configuration>
我们正在使用 MigraDoc/PDFsharp GDI+,这取决于将字体安装到系统以便进行渲染。我们已尝试嵌入字体,但 MigraDoc 的 GDI+ 版本似乎不支持此功能。
尝试将此组件移动到 Azure 应用服务时,找不到字体。有没有办法 "install" 将字体本地化到应用服务,以便它们对 GDI 可见?
据我所知,依赖于 GDI 的组件 API 可能无法在 Azure Web APP 上运行。我们可以在以下位置找到此已知问题:https://social.msdn.microsoft.com/Forums/en-US/6ed5c738-390a-4ca7-81d0-370124a4fc88/azure-websites-faq?forum=windowsazurewebsitespreview. At currently, please try to use Azure Web role or Azure VM instead. Please also vote this idea 在 Azure 反馈论坛上。
MigraDoc 使用 PDFsharp 生成 PDF 文件,PDFsharp 可以使用来自嵌入式资源或应用程序读取的文件的字体。
我会使用 PDFsharp/MigraDoc 1.50 或更高版本的 WPF 版本并使用 IFontResolver 接口。
如果满足您的需要,您可以使用通用的 EZFontResolver 实现:
http://forum.pdfsharp.net/viewtopic.php?f=8&t=3244
您可以在应用服务上使用 Windows 容器来安装自定义字体。方法如下:
开始使用 Windows 应用服务上的容器:
https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-windows-container
有点晚了 - 但迟到总比不到好!
我发现这其实很简单 - 我们都知道怎么做!
在应用服务的WWWROOT添加一个web.config 添加以下
你可能不需要
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
<staticContent>
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
</staticContent>
</system.webServer>
</configuration>