Spread 表格控件:打印带背景图的 PDF 文件

Spread 表格控件支持打印到 PDF 文件,通过 PrintInfo 类下的 PrintToPdf 方法可以实现打印 PDF 功能。最近,有用户询问如何打印带有背景图的PDF文件。虽然,Spread 不内置该功能,但是我们可以同过自定义来实现。

发布于 2013/08/09 00:00

SpreadJS

Spread 表格控件支持打印到 PDF 文件,通过 PrintInfo 类下的 PrintToPdf 方法可以实现打印 PDF 功能。

最近,有用户询问如何打印带有背景图的PDF文件。虽然,Spread 不内置该功能,但是我们可以同过自定义来实现。

实现方法很简单,设置 Spread 的背景色为透明色,此时Spread的背景图即可见。

详细请参考代码:

  1: private void fpSpread1_PrintBackground(object sender, FarPoint.Win.Spread.PrintBackgroundEventArgs e)
  2:  {
  3:     System.Drawing.Drawing2D.GraphicsState saveState = e.Graphics.Save();
  4:     Rectangle rect = e.SheetRectangle;
  5:     rect.Width = (int)AdjustWorkaroundForPDFPrint((float)rect.Width);
  6:     rect.Height = (int)AdjustWorkaroundForPDFPrint((float)rect.Height);
  7:     e.Graphics.SetClip(rect);
  8:     e.Graphics.SetClip(rect);
  9:     e.Graphics.DrawImage(fpSpread1.BackgroundImage, rect);
 10:     e.Graphics.Restore(saveState);
 11:  }
 12:     private float AdjustWorkaroundForPDFPrint(float value)
 13:  {
 14:     float _ptperInch = 72;
 15:     //Points Per inch
 16:     float pixelPointFactor = (float)(_ptperInch / 96);
 17:     //pixel point factor base on graphic dpi
 18:     float displayPointFactor = (float)(_ptperInch / 100);
 19:     //point factor base on display graphic unit
 20:     return (float)(value * displayPointFactor / pixelPointFactor);
 21:  }

 

SpreadWithBackGroundImage-300x281

ExportedPDF-300x166

Demo 下载:VS2010 + C# + Spread Studio 7 + .NET 4.0: 点击下载

Demo 下载:VS2010 + VB.NET + Spread Studio 7 + .NET 4.0: 点击下载

SpreadJS | 下载试用

纯前端表格控件SpreadJS,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性,备受华为、苏宁易购、天弘基金等行业龙头企业的青睐,并被中国软件行业协会认定为“中国优秀软件产品”。SpreadJS 可为用户提供类 Excel 的功能,满足表格文档协同编辑、 数据填报、 类 Excel 报表设计等业务场景需求,极大的降低企业研发成本和项目交付风险。

如下资源列表,可以为您评估产品提供帮助:

相关产品
推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

活字格低代码二维码

关注“活字格低代码”

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态