天天看点

关于DevExpress GridControl导出PDF中文标题乱码问题,及横向导出设置

GridControl导出到PDF,经常有人问中文字体乱码问题(如下图所示),这是因为gridcontrol默认的字体在PDF的字体库中不支持,所以中文的字体都会成乱码。

关于DevExpress GridControl导出PDF中文标题乱码问题,及横向导出设置

导出PDF后

关于DevExpress GridControl导出PDF中文标题乱码问题,及横向导出设置

解决方法就是把GridControl打印属性的字体改成PDF所能支持的中文字体,比如改成“宋体”或者“黑体”等,修改导出的字体就可以了,就如下操作,修改AppearancePrint中的对应样式字体,例如我修改了列标题和行的字体为宋体。

关于DevExpress GridControl导出PDF中文标题乱码问题,及横向导出设置

查看效果:

关于DevExpress GridControl导出PDF中文标题乱码问题,及横向导出设置

对于导出的相关控制,一个是修改gridView.OptionsPrint的属性下的相关属性,及调用ExportToPDF方法的第二个参数PdfExportOptions类型参数,还有就是用PrintInitialize事件进行处理,比如,标题提到的如何横向导出PDF,就需要采用这个事件处理,这个事件处理很多东西,有需要的自己研究一下。

关于DevExpress GridControl导出PDF中文标题乱码问题,及横向导出设置

事件处理代码:

private void gridView1_PrintInitialize(object sender, DevExpress.XtraGrid.Views.Base.PrintInitializeEventArgs e)
        {
            e.Link.PrintingSystemBase.PageSettings.Landscape = true;//两个方法都可以
            //(e.PrintingSystem as DevExpress.XtraPrinting.PrintingSystemBase).PageSettings.Landscape = true;
        }           

效果图:

关于DevExpress GridControl导出PDF中文标题乱码问题,及横向导出设置

继续阅读