日期:2014-05-20  浏览次数:20904 次

如何防止水晶报表按比例缩放?
  上网找资料找了很久,关于水晶报表如何设置可以缩放的文章和帖子就很多,但没找到固定缩放的例子。因为客户需求,我需要做一个报表是固定大小的,无论什么纸张都是一个大小,超出纸张的话用户就知道选错纸张打印了(感觉这太不人性化了,但也是需求)。其实关键问题是报表里面有条形码,假如报表按照纸张大小按比例缩放,条形码也会跟着缩放,导致失真无法通过验证,所以目前只有固定报表的大小这个方法。我会一边继续研究,一边坐等大神回复的,需求那个赶啊。先谢了!

------解决方案--------------------
你可以看看这贴:http://bbs.csdn.net/topics/250014930
------解决方案--------------------
微软的东西支持缩放的接口做的不好,WPF之前的貌似做不到,因为采用的是user32.dll绘制控件的机制,控件大小 是死的,如果非要能放大缩小,那就必须得重绘控件。wpf 也要看什么控件接口~
------解决方案--------------------
我看了一下PrintOptions中Page的相关属性,都是只读的:
public virtual int PageContentHeight { get; }
public virtual int PageContentWidth { get; }

Paper相关的倒是可以调整:
public virtual PaperSize PaperSize { get; set; }

估计水晶报表设计的时候就是这般考虑的吧。

建议先将报表转成图片,这样就可以自由打印了。