DevExpress V22.1 表格导出PDF支持中文
功能特点
- 支持Master/Detail主从表表格
- 支持导出PDF,支持中文
C# 全选
/// <summary>
/// 导出PDF
/// </summary>
/// <param name="fileName"></param>
/// <param name="printable"></param>
public void ExportToPDF(string fileName, GridView gv, IPrintable printable, Models.PrintPaperModel paperOptions)
{
var gc = gv.GridControl;
// 强制 PDF 导出引擎使用和打印预览一样的 GDI+ 换行算法
DevExpress.XtraPrinting.Native.PrintingSettings.UseGdiPlusLineBreakAlgorithm = true;
// 2. 统一打印中文字体
Font fontCn = new Font("微软雅黑", 9, FontStyle.Regular);
// 可选:子视图也强制展开
foreach (GridView view in gc.Views)
{
// 必须true:强制打印使用AppearancePrint样式,否则表头沿用界面字体(PDF不兼容中文)
view.OptionsPrint.UsePrintStyles = true;
view.OptionsPrint.PrintHeader = true;
// 表头打印样式(解决表头空白核心)
view.AppearancePrint.HeaderPanel.Options.UseFont = true;
view.AppearancePrint.HeaderPanel.Font = fontCn;
// 数据行
view.AppearancePrint.Row.Options.UseFont = true;
view.AppearancePrint.Row.Font = fontCn;
view.OptionsPrint.PrintDetails = true;
view.OptionsPrint.ExpandAllDetails = true;
view.OptionsPrint.AutoWidth = false;
view.OptionsPrint.PrintFooter = SystemSettings.Current.ExportXlsxPrintFooter; //不导出底部汇总行
view.BestFitColumns();
}
// 1. 主视图:允许打印明细、全部展开明细
gv.OptionsPrint.PrintDetails = true; // 导出明细
gv.OptionsPrint.ExpandAllDetails = true; // 强制展开所有明细
using (var ps = new PrintingSystem())
using (var link = new PrintableComponentLink(ps))
{
link.Component = gc;
//纸张A4/A3
link.PaperKind = Enum.Parse<System.Drawing.Printing.PaperKind>(paperOptions.PaperName);
//Landscape = true = 纸张 横向打印 / 导出
//Landscape = false = 纸张 纵向打印 / 导出
link.Landscape = paperOptions.PaperDirection == "横向";
// 边距(可选)
link.Margins.Left = paperOptions.MarginLeft;
link.Margins.Right = paperOptions.MarginRight;
link.Margins.Top = paperOptions.MarginTop;
link.Margins.Bottom = paperOptions.MarginBottom;
PdfExportOptions options = new PdfExportOptions
{
NeverEmbeddedFonts = "",
ConvertImagesToJpeg = true,
ImageQuality = PdfJpegImageQuality.High,
};
// 导出 PDF
link.CreateDocument();
link.ExportToPdf(fileName, options);
}
}
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网





