Kendo Grid MVC忽略了PDF导出时的页面大小

时间:2018-08-24 08:21:33

标签: kendo-ui kendo-grid kendo-asp.net-mvc

我正在尝试更改导出时的页面大小,但是它不起作用。我认为kendo会尝试自动调整页面中的内容,但是页面已溢出。

这是我的表格生成器:

@(Html.Kendo().Grid(Model)
            .Name("collectGrid")
              .Pdf(pdf => pdf
                  .AllPages()
                  .AvoidLinks()
                  .PaperSize("A4")
                  .Scale(0.5)
                  .Margin("2cm", "1cm", "2cm", "1cm")
                  .RepeatHeaders()
                  .FileName("file.pdf")
                  .ProxyURL(Url.Action("Pdf_Export_Save", "Grid"))
                  .TemplateId("page-template")
              )
            .Scrollable(s => s.Height("calc( 100vh - 380px )"))
            .Columns(columns =>
            {
                columns.Bound(m => m.BlockName).Width(270); ;
                columns.Bound(m => m.SectionName).Width(50).Title("Satznr.");
                columns.Bound(m => m.ProductName).Width(100);
                columns.Bound(m => m.Seed).Format("{0:dd.MM.yyyy}").Width(60).Title("Aussaat");
                columns.Bound(m => m.SurfaceMeters).ClientTemplate("#=formatSurface(SurfaceMeters)#").ClientFooterTemplate("#= formatSurface(sum) #").Width(60).Title("Fläche");
            })
            .ToolBar(t=>t.Pdf())
            .Pageable()
            .Sortable()
            .Events(e=>e.PdfExport("exportPdf"))
            .DataSource(dataSource => dataSource
                .Ajax()
                .ServerOperation(false)
                .PageSize(SystemServiceProvider.Get().FullPageTablePageSize())
                .Events(events => events.Error("gridErrorHandler"))
                .Sort(s => s.Add(m => m.Seed).Ascending())
                .Aggregates(a =>
                {
                    a.Add(m => m.SurfaceMeters).Sum();
                    a.Add(m => m.UnitsSeeded).Sum();
                })
                .Model(model =>
                {
                    model.Id(p => p.Id);
                })
                .Read(read => read.Action("Read", "CollectReport", new { area = "Fields", CultivationCategory=ViewBag.CultivationCategory }).Data("getCriteria"))
            ).HtmlAttributes(new{style="margin-top:10px"})
  )

这是在导出时调用的函数(我看到它在导出过程中如何改变页面大小)

    function exportPdf(e) {
    e.sender.dataSource.pageSize(10);
    e.promise.done(function() {
        e.sender.dataSource.pageSize(@SystemServiceProvider.Get().FullPageTablePageSize());
    });
}

我要覆盖pdf上的字体

    .k-pdf-export {
    font-family: "Arial", sans-serif;
    font-size: 19px;
}

目标适合A4中的内容。是自动分页符还是手动分页都没关系​​。

0 个答案:

没有答案