昨天的事情。客户需要把一个fr3格式的报表从纵向打印改为横向打印。

以前没做过这个,以为很复杂,在代码里各种尝试:控制打印设置页面的Orientation,Portrait为纵向,Landscape为横向;在程序里获取打印时的Pages,修改Orientation;控制打印时的Duplex,Vertical为纵向,Horizontal为横向;在网上找了一段设置打印机的函数SetPrint,修改打印机设置;查看FastReport帮助文档;查看FastReport控件源码;查找Delphi直接操作打印机的方法等等。总之是通过Delphi代码各种控制,最后都不行。

当然,就像大多数电影的情节一样,都已经过了下班时间了,转折点来了。

通过在CSDN里一个类似问题的回答,设置了报表的页面方向:Orientation为横向,又适当调整了页面大小,设置了无限宽、高,如下图,问题就这么简单解决了。

 

无限感慨中。。。。