如何列印 A4 一半大小的報表 |
尚未結案
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
如果印表機本身有支援兩頁合併一頁的功能,那只需要設定印表機的預設參數,即可達到。
如果印表機本身不支援兩頁合併一頁的功能,則可以使用 fineprinter 之類的產品,同樣,只需設定好 fineprinter 即可達到想要的功能。
http://www.fineprint.com/ 沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
對了,我剛想到
由於報表 Size 固定為 A4
就算使用 fineprinter , 他也是等比例縮小
也就是說我還是要先解決 A4 版面的問題
如果我無法解決 A4 上下半面的問題
印出來只有 A4 的一半,下一頁面印到第二頁的 A4 去
如此透過 fineprinter 縮小為兩頁合併
看到的還是兩個下半部都空白的 A4 合併在一起
┌──────────────────┐ │┌───────┐┌───────┐│ ││ ││ ││ ││ ││ ││ ││ ││ ││ │├───────┤├───────┤│ ││ ││ ││ ││ 空白 ││ 空白 ││ ││ ││ ││ ││ ││ ││ │└───────┘└───────┘│ └──────────────────┘ |
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
請問 使用A5不行嗎 如是 點陣中一刀的 記的是選像中 的 8/11 紙張 (不太記的QR的選項)
不過 這紙張是 28/21 cm (一般的進貨單) 如果 是雷射印象機 就沒這問題 因為 只要事先紙張先請人裁定A4一半 另一方式 採用 繪圖工具程式 如adobe Photshop 巨集指令 紙張輸出
或 offiec的word 如adobe Photshop 巨集指令 紙張輸出 應用於 大頭貼 等影像輸出可鑑
但這些是 噴墨A3印表機 有A5 點陣的 就不太知道 目前 這2者較準 但印表機咬紙設定 仍A4咬紙 所以可能要事先裁紙 如 AUTO CAD 紙張好像也沒 自訂 圖框是有 準確度0.後8碼
有些是 印表機不支援的 可能就沒有辦法了 發表人 - conundrum 於 2004/03/11 14:56:09
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
討厭就討厭在客戶拿 A4 噴墨來列印 ...
客戶的需求 ┌───────┐ │ │ │ 第一頁 │ │ │ ├───────┤ │ │ │ 第二頁 │ │ │ └───────┘ ┌───────┐ │ │ │ 第三頁 │ │ │ ├───────┤ │ │ │ 第四頁 │ │ │ └───────┘ ┌───────┐ │ │ │ 第五頁 │ │ │ ├───────┤ │ │ │ 第六頁 │ │ │ └───────┘ (以此類推) 而非 ┌───────┐ │ │ │ 第一頁 │ │ │ ├───────┤ │ │ │ 空白 │ │ │ └───────┘ ┌───────┐ │ │ │ 第二頁 │ │ │ ├───────┤ │ │ │ 空白 │ │ │ └───────┘ ┌───────┐ │ │ │ 第三頁 │ │ │ ├───────┤ │ │ │ 空白 │ │ │ └───────┘ (以此類推)發表人 - bruce0211 於 2004/03/11 14:58:23 |
conundrum
尊榮會員 發表:893 回覆:1272 積分:643 註冊:2004-01-06 發送簡訊給我 |
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
|
cxh17895
初階會員 發表:13 回覆:37 積分:25 註冊:2003-03-19 發送簡訊給我 |
大大你好!
你應該是點陣印表機吧!才會有A4印一半(中一刀)格式吧!前陣子也是為了
中一刀格式在大亂!但經過一番試驗,有成功過哦!心得是,全部是驅動程式問題
我的印表機是 LQ-670C,
裝WINDOWS 內建的,不行,會印LETTER一整張,(印一半)
裝WINDOWS內建的 570C ,可以,印的很好,
裝EPSON原廠提供的 LQ-670C 程式,可以,不過頭尾會被砍掉一點 QRP VER 3.62
DELPHI 6.0
WINDOWS XP PRO 在OS內,再新增一台A4中一刀專用的印表機,要印時,再點選它! 你試試看,以上我近期心得!
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
如果只有此模組的程式是您自己可以控制的,那就把此模組輸出的格式改變就好了,原本一頁只輸出 N 筆半頁 A4 格式,那就改成一頁輸出 2xN 筆整頁 A4 格式,這樣就是只改你的部分就好,別的模組維持原狀不必修改。 沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
感謝各位長官提供的方法,
這個報表還有其他我未提到的困難部分
1.每頁(A4半面)都有自己的Page Header / Page Footer
完整的一張A4 ┌───────┐ │(Page Header) │ │ │ │ 第一頁 │ │ │ │(Page Footer) │ ├───────┤ │(Page Header) │ │ │ │ 第二頁 │ │ │ │(Page Footer) │ └───────┘2.每頁中的資料是群組式的 所以假設每頁(A4半面)資料最多 20 行 有可能中間有不足行的資料 例如第一頁20 行,第二頁13 行,第三頁又是印滿20 行 但不能因為第二頁資料比較少,第三頁就縮到前面來 永遠都是 ┌───────┐ │ │ │ 第一頁 │ │ │ ├───────┤ │ │ │ 第二頁 │ │ │ └───────┘ ┌───────┐ │ │ │ 第三頁 │ │ │ ├───────┤ │ │ │ 第四頁 │ │ │ └───────┘ ┌───────┐ │ │ │ 第五頁 │ │ │ ├───────┤ │ │ │ 第六頁 │ │ │ └───────┘ (以此類推) |
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
公佈我測試成功的答案(如果有更"使馬特"(SMART)的做法還請繼續告知) 1.其實這張報表列印的內容是傳票列印
2.我不知會計法是否有規定每筆傳票只能有20筆資料,但客戶的要求就是每張傳票只有20筆資料,每20筆編一個傳票流水號;不能因為換平台使用A4來列印,就把它一張傳票印40筆資料
3.從整個交易紀錄檔抓出的交易紀錄,應稅/免稅的資料要分別列印,同一群組者
(同為應稅或同為免稅)每20筆編一個傳票號碼(也就是列印在同一張傳票上)
4.假設我今天從交易資料抓出來的應稅資料有 41 筆,免稅資料有25筆,我要的報表輸出為 第一頁20筆應稅 + 第二頁20筆應稅 + 第三頁1筆應稅 + 第四頁20筆免稅 + 第五頁5筆免稅 , 也就是 20+20+1+20+5 (應/免稅不能混在一起,所以第三頁的1筆應稅要獨立一頁)
5.QUICK REPORT 的設計中我只有放的 BAND 如下 : GROUP HEADER + DETAIL + GROUP FOOTER , 其中沒有 PAGE HEADER 跟 PAGE FOOTER , 用 GROUP HEAD + GRPUP FOOTER 來代替 PAGE HEADER 跟 PAGE FOOTER
6.由於每頁都要補滿20筆資料,才不會有的頁面大有的頁面小,而乖乖的每張A4都有工整的上下兩半面傳票頁面,所以勢必要建一個 TAMP 的 TABLE
7.先將應稅資料 query 出來放到 temp table , 檢查資料數是否為 20 的倍數,否則補滿只有傳票號的空資料,本例應稅有41筆,所以要再補19筆空的應稅紀錄,同樣再 QUERY 出 25 筆的免稅資料並補滿15筆空的免稅資料,這樣 TEMP TABLE 就有 100 筆資料,其中有60筆應稅(41筆應稅+19筆應稅空資料)+40筆免稅(25筆免稅加15筆免稅空白資料)
8.QUICK REPORT 的 DATA SET 指到 TEMP TABLE ,以傳票號碼當 GROUP 條件,傳票表頭的資料就印在GROUP HEADER 中,每張傳票的表尾合計就印在GROUP FOOTER 中,這樣倒出來的報表就是工工整整的5頁(100/20=5) 傳票資料,每張傳票頁面佔去半張 A4,也就是共印了兩張半的 A4 報表
┌───────┐ │ │ │ 第一頁 │ │ │ 傳票一, 20 筆應稅 ├───────┤ │ │ │ 第二頁 │ │ │ 傳票二, 20 筆應稅 └───────┘ ┌───────┐ │ │ │ 第三頁 │ │ │ 傳票三, 20 筆應稅 (1 筆應稅 19 筆應稅空白資料) ├───────┤ │ │ │ 第四頁 │ │ │ 傳票四, 20 筆免稅 └───────┘ ┌───────┐ │ │ │ 第五頁 │ │ │ 傳票五, 20 筆免稅 (5 筆免稅 15 筆免稅空白資料) ├───────┤ │ │ │ (空白) │ │ │ └───────┘發表人 - bruce0211 於 2004/03/13 11:29:07 |
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi bruce0211、dllee 版大 早上試了一個新的 Solution 供你參考 http://delphi.ktop.com.tw/loadfile.php?TOPICID=14558895&CC=325605 1.建立兩個 QuickReport QuickRep1 與 QuickRep2
2.第一個 QuickRep2 為傳票之正常 Report,Size 為 A5
3.第二個 QuickRep1 僅放一個 DetailBand 與 QRImage,Size 為 A4,其中 DetailBand 與 QRImage 的 Height 與 QuickRep1 相同
4.進行 QuickRep2.Prepare,後進行 QuickRep1.PreView;
5.QuickRep1.OnNeedData 自行控制是否繼續,並將 QuickRep2.QRPrinter.Page Assign 給 QuickRep1.QRImage1
procedure TForm1.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean); begin Inc(CurrentPage); MoreData := (CurrentPage <= TotalPage); IF MoreData THEN BEGIN TRY QuickRep2.QRPrinter.PageNumber := CurrentPage; QRImage1.Picture.Assign(QuickRep2.QRPrinter.Page); EXCEPT END; END; end;發表人 -
------
Fishman |
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
|
hahalin
版主 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
|
bruce0211
版主 發表:157 回覆:668 積分:279 註冊:2002-06-13 發送簡訊給我 |
|
hahalin
版主 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |