找回密码
 立即注册

QQ登录

只需一步,快速开始

CCKan
银牌会员   /  发表于:2016-1-14 13:36:00
11#
打印会变虚的根本原因是因为 SpreadJS 是用 Canvas 呈现的,打印的原理就是将 SpreadJS 的所有内容画在一张图片上,将图片通过浏览器的打印功能打印到打印机。
而一般电脑的 DPI 是96,打印机一般是 600 以上,将一张图片扩大6倍以上,图片必然会发虚的。我们后面会考虑一些方案解决这个问题
回复 使用道具 举报
mjq
论坛元老   /  发表于:2016-1-19 14:49:00
12#
回复 9楼CCKan的帖子

请问最近能解决这个问题吗?或者有没有什么替代的办法?我的项目就差这个打印的问题了
回复 使用道具 举报
mjq
论坛元老   /  发表于:2016-1-19 15:39:00
13#
回复 9楼CCKan的帖子

加上去的Picture导出pdf也没有显示,打调打印是可以打上去的
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-1-19 16:58:00
14#
回复 12楼mjq的帖子

我现在也不清楚什么时候会发布维护版本。
目前没有公开的方法能解决这个问题,如果你着急的话可以先试试反射,不过这只是临时解决方案,用了产品的私有成员,等正式维护版本发布以后请删除这段代码。

在 ExportController 中,有个方法叫 Post,把 Post 方法的前面改成:
public async Task<HttpResponseMessage> Post()
        {
            SpreadExportParam exportParam = GetExportParm();
            MemoryStream stream = new MemoryStream();
            Exporter exporter = new Exporter(exportParam.Spread);
            System.Reflection.FieldInfo modelFiled = exporter.GetType().GetFields(System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance)[0];
            GrapeCity.Spread.Sheets.ExcelIO.Spread model = modelFiled.GetValue(exporter) as GrapeCity.Spread.Sheets.ExcelIO.Spread;
            System.Reflection.PropertyInfo[] properties = model.GetType().GetProperties(System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
            foreach(var property in properties)
            {
                if (property.PropertyType == typeof(Workbook))
                {
                    Workbook workbook = property.GetValue(model, new object[] { }) as Workbook;
                    foreach (var workSheet in workbook.Sheets)
                    {
                        workSheet.PrintInfo.ShowBorder = false;
                    }
                }
            }

            this.export(exporter, exportParam, stream);
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-1-19 16:59:00
15#
回复 13楼mjq的帖子

抱歉,由于技术原因,SpreadJS现在不支持导出图片到 PDF
回复 使用道具 举报
mjq
论坛元老   /  发表于:2016-1-19 17:36:00
16#
回复 14楼CCKan的帖子

我试了,可行,谢谢。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-1-20 09:24:00
17#
本帖中的问题是不是都解决了?如果是我将关闭本帖。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部