找回密码
 立即注册

QQ登录

只需一步,快速开始

jiankeyan

中级会员

98

主题

268

帖子

796

积分

中级会员

积分
796
jiankeyan
中级会员   /  发表于:2021-4-6 18:20  /   查看:4843  /  回复:10
左侧和上面确定 要求按照红色框进行放大 image.png119580382.png

10 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-4-6 18:39:42
沙发
问题已经收到,你现在是要缩小右侧和下侧的边距吗,使其比左上两个边距小?
回复 使用道具 举报
jiankeyan
中级会员   /  发表于:2021-4-7 09:47:01
板凳
我想要的效果是上左边距不动,把现有的表单等比向左放大到与底部对齐
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-4-7 13:59:35
地板
本帖最后由 Richard.Ma 于 2021-4-7 17:33 编辑

目前没有办法自动缩放以填充除边距外的空白部分,但是可以通过代码,计算缩放比例,手动设置缩放比例代码如下
注意,这个代码仅考虑了宽度,实际应该宽高都考虑。 取宽、高各自计算的缩放比例中较小的一个,否则仅取宽度计算的比例的话,高度可能会超出

  1.         void ExPDF()
  2.         {
  3.             Workbook workbook = new Workbook();
  4.             workbook.Open(@"D:\Projects\12341234.xlsx");
  5.             var worksheet = workbook.Worksheets[0];
  6.             
  7.             worksheet.PageSetup.PaperSize = PaperSize.A4;
  8.             worksheet.PageSetup.LeftMargin = 30;
  9.             worksheet.PageSetup.TopMargin = 30;
  10.             worksheet.PageSetup.RightMargin = 0;
  11.             worksheet.PageSetup.BottomMargin = 0;
  12.             //将表格缩小到一张纸中打印
  13.             worksheet.PageSetup.FitToPagesTall = 1;
  14.             worksheet.PageSetup.FitToPagesWide = 1;

  15.             //获取打印区域的原始宽高
  16.             var size = new PrintManager().GetSize(worksheet.UsedRange);
  17.             //以A4纸宽度为例,转毫米为point,
  18.             double paperwidth = 210/ 25.4* 72- worksheet.PageSetup.LeftMargin;

  19.             //计算缩放比例
  20.             int zoom = (int)(paperwidth / size.Width*100);

  21.             //设置缩放比例
  22.             worksheet.PageSetup.Zoom=zoom;
  23.             worksheet.Save(@"D:\Projects\12341234.pdf", SaveFileFormat.Pdf);
  24.         }
复制代码



最终效果
image.png587963256.png
回复 使用道具 举报
jiankeyan
中级会员   /  发表于:2021-4-7 17:25:44
5#
你好  您那边好了 麻烦回复我一下谢谢
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-4-7 17:50:00
6#
你好,楼上已经给你回复,通过手动计算缩放比例,可以实现你的需求
回复 使用道具 举报
jiankeyan
中级会员   /  发表于:2021-4-7 18:53:02
7#
您好  这是我的json文件  您能帮忙试试吗  要求:头部1.5  左侧2.5  差不多就行  不要求很精确 这个是我这边的效果图  按照您那个方法  我改成了    image.png944771728.png image.png141152037.png

jsondataTest.txt

338.63 KB, 下载次数: 128

回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-4-8 09:44:39
8#
本帖最后由 Richard.Ma 于 2021-4-8 17:51 编辑

测试确实设置后无效,目前看来时加载ssjson后会导致此问题,已经将问题作为bug提交给研发,id:DOCXLS-3945后续进展我会更新在帖子中

此贴暂时保留处理



回复 使用道具 举报
jiankeyan
中级会员   /  发表于:2021-4-12 16:38:38
9#
您好 还发现了一个问题 通过GCExcel.net导出pdf时 pdf文件里的字体和原字体不一致 原有表格中有宋体和黑体 但是在导出的pdf中我对比发现字体变成了Arial Unicode MS 请问这个该如何解决?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-4-12 17:47:45
10#
这个最有可能是你这边打开pdf的电脑上缺少这些字体导致,

我在我这里也按照你说的设置测试了一下未能发现问题,测试流程如下:
1.spreadjs在线demo中设置黑体和仿宋体后保存了ssjson文件
https://demo.grapecity.com.cn/SpreadJS/WebDesigner/index.html
2.GC打开此文件并保存为pdf
3.用adobe acrobat pro打开pdf文件查看字体信息
你这边如果是不一样的场景导致的问题,请详细描述一下重现步骤
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部