Rotativa在localhost上工作,在服务器(ASP.NET MVC)上将字体显示为正方形

时间:2018-07-05 08:37:16

标签: asp.net asp.net-mvc rotativa

我正在尝试根据Rotativa的视图生成PDF,然后将其保存到Azure存储。当我在本地对其进行测试时,它可以工作,但是尝试在实时服务器上生成PDF不会加载字体,它只会显示为正方形。我尝试使用多种简单字体,例如Arial,Helvetica等,均​​无效。

string customSwitches =
    "--header-center \"Document header\" "
    + "--header-font-size \"12\" "
    + "--header-spacing 6 "
    + "--header-font-name \"calibri light\" "
    + "--footer-center \"Page: [page] of 10\" "
    + "--footer-font-size \"11\" "
    + "--footer-spacing 6 "
    + "--footer-font-name \"calibri light\"";

    var file = new PartialViewAsPdf("_GenerateDocument", client) {
                        FileName = filename + extension,
                        RotativaOptions = new Rotativa.Core.DriverOptions()
                        {
                            PageMargins = new Rotativa.Core.Options.Margins
                            {
                                Top = 20,
                                Bottom = 20,
                            },
                            PageOrientation = Rotativa.Core.Options.Orientation.Landscape,
                            CustomSwitches = customSwitches
                        },
                    };

这是实时服务器上的外观: enter image description here

2 个答案:

答案 0 :(得分:0)

您可以在页面级别添加所有与设计相关的更改,不能将所有样式css放在_GenerateDocument页面上,您将对结果进行选通。

几次CustomSwitches不支持CSS样式

答案 1 :(得分:0)

我在使用与系统字体不同的字体系列时遇到了这样的问题。字体被像素化了。如果您使用 Azure 作为托管门户,那么 aZure 目前有一个限制,不支持 GDI。所以您可以在更改字体系列后尝试 请看这个 https://feedback.azure.com/forums/169385-web-apps/suggestions/12864567-support-for-gdi