[發明專利]報表首頁和續頁打印方法有效
| 申請號: | 201310701296.5 | 申請日: | 2013-12-18 |
| 公開(公告)號: | CN103617014A | 公開(公告)日: | 2014-03-05 |
| 發明(設計)人: | 馬文華 | 申請(專利權)人: | 用友軟件股份有限公司 |
| 主分類號: | G06F3/12 | 分類號: | G06F3/12 |
| 代理公司: | 北京中恒高博知識產權代理有限公司 11249 | 代理人: | 劉洪京 |
| 地址: | 100094 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 報表 首頁 打印 方法 | ||
技術領域
本發明涉及打印技術領域,尤其涉及一種報表首頁和續頁打印方法。
?
背景技術
在現有的ERP中,報表上展示的數據內容越來越多,數據展示的行和列是無限擴展的,用戶在一張報表上可展示多個查詢的內容,包括明細查詢,交叉統計及圖表等。
在打印上述報表時,多采用模板打印方式,模板打印方式最初是針對固定的紙張類型設計的,按給定的紙張類型打印時,沒有任何問題,如果更改了紙張類型或打印方向,打印可能就會出現問題,如出現打印內容不全等問題。比如一般只考慮紙張高度方向的拆頁,不考慮紙張的橫向寬度,如果紙張小于模板的寬度,就拋棄超出紙張寬度的部分,這樣會造成報表打印數據丟失。
此外,通常情況下,報表的標題區是固定的,這樣在打印首頁和續頁時不能打印出不同的標題內容。
鑒于以上客觀技術原因,非常有必要提出一種新的報表首頁和續頁打印方法,以方便用戶打印ERP系統中的報表。
?
發明內容
本發明需要解決的問題就在于克服現有技術的缺陷,提供一種報表首頁和續頁打印方法,對ERP系統中的報表實現所見即所得的打印,并且可以分別設定報表的首頁標題區和續頁標題區,從而使報表的首頁和續頁能夠打印出不同的標題內容。
為解決上述問題,本發明的報表首頁和續頁打印方法包括:
步驟100,準備需要打印的數據表格,即報表,該報表包含數據、樣式等內容;
步驟110,獲取打印設置信息,包括用戶預先設定好的打印區域設置信息、打印紙張設置信息、打印順序信息、打印標題區設置信息;
步驟120,計算報表的有效打印區域范圍,即計算需要打印的有效打印行數和有效打印列數,優先選擇用戶在打印設置信息里定義的打印區域范圍,若打印設置信息里沒有指定打印范圍,則需要確定有效的打印區域范圍;
步驟130,計算行拆頁位置表,即通過計算紙張高度方向的拆頁點,進而計算出拆頁對應的行位置;
步驟140,計算列拆頁位置表,即通過計算紙張寬度方向的拆頁點,進而計算出拆頁對應的列位置;
步驟150,根據行、列拆頁位置表計算出打印所對應的打印區域范圍及位置,從而生成打印數據頁;
步驟160,排除空白頁;
步驟170,打印結束。
優選地,上述技術方案步驟120中計算有效打印行數和有效打印列數進一步包括:
(1)計算有效的打印行數:首先計算當前報表的行數,之后從最大行數開始,以遞減1的方式判斷有效打印行數;先判斷該行是否隱藏,如果該行隱藏,則行數減1,繼續循環,直至排除最后的隱藏行;對于非隱藏行,從首列開始,判斷單元格是否需要打印,如果在首列和最大列之間存在需要打印的單元,則當前行數即為有效打印行數,否則行數減1,繼續循環,直至找到有效的打印行數;
(2)計算有效的打印列數:首先計算當前報表的列數,之后從最大列數開始,以遞減1的方式判斷有效打印列數;先判斷該列是否隱藏,如果該列隱藏,則列數減1,繼續循環,直至排除最后的隱藏列;對于非隱藏列,從首行開始,判斷單元格是否需要打印,如果在首行和最大行之間存在需要打印的單元,則當前列數即為有效打印列數,否則列數減1,繼續循環,直至找到有效的打印列數。
優選地,上述技術方案步驟130進一步包括:
(1)確定首頁的打印高度是當前紙張的可打印高度;
(2)其他續頁的打印高度計算如下:
(2.1)將續頁標題區的定義及固定行標題的定義進行合并,計算續頁固定打印的高度,
(2.2)紙張的可打印高度減去固定打印的高度,從而得到續頁的打印高度;
(3)根據首頁、續頁處理依據,對首次打印拆頁進行動態行高度設定,其中首頁、續頁處理依據是:
(3.1)首頁標題區定義的內容除與續頁標題定義的交叉部分及固定行定義的交叉部分外,不在續頁中出現;
(3.2)續頁標題區定義的內容除與首頁標題區定義的交叉部分外,不在首頁中顯示;
(3.3)續頁標題區與固定行定義區進行合并后確定續頁每頁需要打印的內容;
(4)計算當前頁可打印的最大行,設定第一頁的起始行為0,并記錄到行拆頁位置表中,根據當前頁的打印高度及起始行,計算當前頁可打印的最大行;
判斷當前頁的起始行及最大行之間是否存在用戶拆頁點信息,若存在,則將該用戶拆頁點信息替代計算出的最大行;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于用友軟件股份有限公司,未經用友軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310701296.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種應用程序中生成隨機數的方法和設備
- 下一篇:一種飛機發動機吊架前緣





