2012年11月25日 星期日

ActiveReport 預覽正常但打印輸出空白頁的解決方案


引用
--

最近在做項目時,使用ActiveReport(以下簡稱AR)做報表輸出,具體的場景與問題如下:

場景:

紙張尺寸:8.5in*5.5in

邊距:上下左右全設為0.1in

在打印某些單據資料時,遇到以下問題:

打印機是EPSON LQ-300K+ /II ESC/P 2,在打印某個單據(其它單據可以正常,Detail備註欄內容比較多且密,預覽只有一頁,且沒有紅邊)時,使用AR本身的自定紙張尺寸(即直接設置報表的尺寸),總是會多出一張空白頁。嘗試使用Windows的自定紙張格式(新建了一個A8紙(8.5*5.5),應用這個紙張打印可以正常輸出。



問題思考:

根據與現場顧問確認,相同的單據與報表,使用其它型號的打印機輸出是OK的。

初步分析,可能與以下3點有關:

1.打印機的分辨率設置

2.AR.PrintWith設置不對

3.AR的邊距設得太小



嘗試:

1.在AR.Run()之前,把設置其PrintWidth屬性:

     AR.PrintWidth = AR.PageSettings.PaperWidth - AR.PageSettings.Margins.Left - AR.PageSettings.Margins.Right - 0.1f;

2.把AR的邊距加大。

    AR.PageSettings.Margins.Left=0.39in;

    AR.PageSettings.Margins.Right=0.39in;

    AR.PageSettings.Margins.Top=0.3in;

    AR.PageSettings.Margins.Bottom=0.3in;



經過以上設置,問題得以解決。 目前測試了一些單據,還未發現問題。

沒有留言:

張貼留言