找回密码
 立即注册

QQ登录

只需一步,快速开始

miyaminn

论坛元老

48

主题

121

帖子

2万

积分

论坛元老

积分
22182

活字格认证

miyaminn
论坛元老   /  发表于:2015-7-3 09:20  /   查看:7522  /  回复:8
彩色的spread,我印刷之前把ShowColor设为了False,但不管是印刷还是Preview出来的都是彩色的。
要让印刷出来的Spread变成黑白,除了设ShowColor属性之外还需要设什么?

这边的环境是:spread 7.0.2016.2008日文版,Win7,VS2012,FrameWork4.5.2,开发语言VB

谢谢!

8 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-7-3 14:42:00
沙发
您好,问题已经收到,我这边正在帮您处理,会在一个工作日内给您回复。请稍后。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-6 15:50:00
板凳
您好,
您可以尝试下以下代码:
  1. ' Define the printer settings
  2. Dim printset As New FarPoint.Win.Spread.PrintInfo()
  3. Dim printmar As New FarPoint.Win.Spread.PrintMargin

  4. printmar.Left = 10
  5. printmar.Right = 10
  6. printmar.Top = 20
  7. printmar.Bottom = 40

  8. printset.Centering = FarPoint.Win.Spread.Centering.Both
  9. printset.FirstPageNumber = 1
  10. printset.Margin = printmar
  11. printset.Opacity = 60
  12. printset.Orientation = FarPoint.Win.Spread.PrintOrientation.Portrait
  13. printset.ShowBorder = False
  14. printset.ShowColor = False
  15. printset.ShowColumnHeader = FarPoint.Win.Spread.PrintHeader.Hide
  16. printset.ShowRowHeader = FarPoint.Win.Spread.PrintHeader.Hide
  17. printset.ShowGrid = True
  18. printset.ShowShadows = False
  19. printset.ZoomFactor = 2

  20. ' Assign the printer settings to the sheet and print it
  21. printset.PrintToPdf = True
  22. printset.PdfFileName = "C:\results.pdf"
  23. FpSpread1.Sheets(0).PrintInfo = printset
  24. FpSpread1.PrintSheet(0)
复制代码


希望能够帮助到您。
回复 使用道具 举报
miyaminn
论坛元老   /  发表于:2015-7-7 09:36:00
地板
这个和帮助文件上一样的,我尝试过了。但印出来还是彩色的
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-7 11:00:00
5#
您好,
我这边经过测试,在虚拟打印机打印出来是彩色的,但是在实际打印机上测试,打印出来的文档时黑白的。
回复 使用道具 举报
miyaminn
论坛元老   /  发表于:2015-7-13 12:59:00
6#
确认了一下,ShowColor似乎只对头有效。
当Skin是Classic的情况下,ShowColor和ShowShadows都设为False的情况下,头印刷是白色的,但cell依然是彩色的
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-13 18:12:00
7#
您好,
您的问题,我们正在调查,明天会继续跟进。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-14 16:56:00
8#
您好,
经过调查,您的frmaework的版本可以升级到最新,看是否能够解决问题。
另外,提供一个替代的方案,主要是通过一个临时的Spread来完成打印
  1.             FarPoint.Win.Spread.PrintInfo pi = new FarPoint.Win.Spread.PrintInfo();
  2.             pi.ShowColor = false;
  3.             pi.Preview = true;
  4.             pi.ShowPrintDialog = true;
  5.             SheetView view = FarPoint.Win.Serializer.LoadObjectXml(fpSpread1.ActiveSheet.GetType(), FarPoint.Win.Serializer.GetObjectXml(fpSpread1.ActiveSheet, "CopySheet"), "CopySheet") as SheetView;
  6.             view.Cells[0, 0, view.RowCount-1, view.ColumnCount-1].ResetBackColor();
  7.             view.Cells[0, 0, view.RowCount-1, view.ColumnCount-1].ResetForeColor();            
  8.             view.PrintInfo = pi;
  9.             FpSpread spread = new FpSpread();
  10.             spread.Sheets.Add(view);
  11.             spread.PrintSheet(0);
复制代码

希望能够帮助到您。
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-24 09:39:00
9#
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部