普通报表默认是A4的纸张,但是打印的时候可能会用到其他非A4纸张怎么办,如何打印的时候自适应

image.png

A4模版设计,打印时假设需要用到横向的A5纸张,打印效果就不对了

调整打印区域:

image.png

选其他纸张还是打印A4的效果这种情况怎么让打印的时候自适应浏览器选择的纸张?是否可以用js传参的方式,传给浏览器纸张大小?

FineReport yzmF8xcT2995699 发布于 2024-10-25 16:29 (编辑于 2024-10-28 14:40)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2024-10-28 14:57(编辑于 2024-10-28 15:04)

A4比A5纸大。。。你在设计器已经用A4设置好了,那么格式也排好了

你再成A5的话,它的列肯定都不在一页了呀。没有办法自适应的。比如A4可以容纳10列,你换成A5后一页只有5列了,这打印出来不是太奇怪了?你看你的excel与word有办法自适应纸张没有???肯定不能按你说的要求来自适应这个需求的

然后A3又比A4大,你换成A3它一页后面又可能空很多。你只有设置不同纸张的模板以后,点击打印的话把参数传入后,js调用不同的模板,用户只是不知道而已!!!!

设置一个参数。纸张大小,然后用户选择不同的参数。拼不同的模板文件调用打印!!!

JS 调用 FR 打印方法- FineReport帮助文档 - 全面的报表使用教程和学习资料

改文件名称,与你的参数!!!比如A3调用的模板是A3.cpt    a4调用的是A4.cpt

image.png

----------------以下的代码你自己参考着改吧-------------------------

------------不要怕麻烦,与实现最终需求起来比较,麻烦是正常的-------------------

var zz=_g().parameterEl.getWidgetByName("zz").getValue();//纸张大小

var bl=_g().parameterEl.getWidgetByName("地区").getValue();

var printurl="http://localhost:8075/webroot/decision/view/report";

//服务器上面的话要改成你对应的ip与域名,端口默认是8080

if(zz=="A3"){

  var reportlets ="[{reportlet: '/test/A3.cpt', 地区:'"+bl+"'}]";

}

else if (zz=="a4"){

  var reportlets ="[{reportlet: '/test/A4.cpt', 地区:'"+bl+"'}]";

}

else {

  var reportlets ="[{reportlet: '/test/A5.cpt', 地区:'"+bl+"'}]";

  }

var config = {

printUrl : printurl,

isPopUp : true, 

data :{ 

reportlets: reportlets // 需要打印的模板列表 

},

printType : 0, // 打印类型,0为零客户端打印,1为本地打印/

ieQuietPrint : false,// IE静默打印设置 true为静默,false为不静默

printerName : 'Microsoft Print to PDF', // 打印机名

pageType: 2, // 打印页码类型:0:所有页,1:当前页,2:指定页

pageIndex: '1-3', // 页码范围。当 pageType 为 2 时有效

copy: 1, // 打印份数

};

FR.doURLPrint(config)

最佳回答
0
华莉星宸Lv7资深互助
发布于2024-10-25 16:30

这是打印设置的问题吧

打印的时候可以设置适应纸张大小的

最佳回答
0
ID1208Lv6高级互助
发布于2024-10-25 16:34

一种是设置模版的时候选择对应的纸张,按需设计

image.png

一种是浏览器适应现用纸张的大小

image.png

  • yzmF8xcT2995699 yzmF8xcT2995699(提问者) 设置模版的时候只能设置一种纸张大小,但是实际打印的时候可能会有多种纸张大小
    2024-10-25 16:55 
  • ID1208 ID1208 回复 yzmF8xcT2995699(提问者) 那就浏览器打印的时候自定义设置,试试
    2024-10-25 17:00 
  • 4关注人数
  • 153浏览人数
  • 最后回答于:2024-10-28 15:04
    请选择关闭问题的原因
    确定 取消
    返回顶部