python套打 Web列印的解決方案之證件套打

2021-10-11 22:34:09 字數 4746 閱讀 6023

由於以前未接觸過套打,一直覺得套打是乙個比較神秘和麻煩的事情,因為印表機的位置總是需要調整的,你總不能硬編碼吧?但是如果位置可調,有需要直觀一些來處理,那就比較麻煩了。

在前面介紹過《

一般的套打,包含了幾部分操作:列印預覽、列印維護、列印設計。

列印預覽和列印維護是面向終端使用者的,列印維護是指內容不能修改刪除、但位置可以調整,給不同的印表機不同的尺寸列印提供調整位置的可能性。

列印設計是面向開發人員的,開始需要通過這個功能來設計好套打的介面,就是根據套打證件的背景,大致擺放好各個內容的位置。

大致的實現**如下所示:

varlodop=document.getelementbyid("lodop");//這行語句是為了符合dtd規範checklodop();functionpreview2() ;functionsetup2() ;functiondesign2() ;functionrealprint() ;functioncreatedatabill() {

lodop.set_print_*****(10,10,762,533,"列印控制項功能演示_lodop功能_移動公司發票套打");

lodop.add_print_text(126,150,100,20,"郭德剛");

lodop.set_print_stylea(1,"fontcolor",16711680);

lodop.add_print_text(151,150,100,20,"13954885177");

lodop.set_print_stylea(2,"fontcolor",16711680);

lodop.add_print_text(125,584,99,20,"發票列印(第1次)");

lodop.set_print_stylea(3,"fontcolor",16711680);

lodop.add_print_text(465,140,198,20,"陸百柒拾捌元叄角零分");

lodop.set_print_stylea(4,"fontcolor",16711680);

lodop.add_print_text(465,599,70,20,"678.30");

lodop.set_print_stylea(5,"fontcolor",16711680);

lodop.add_print_text(496,408,59,20,"h112063");

lodop.set_print_stylea(6,"fontcolor",16711680);

lodop.add_print_text(191,58,100,20,"國內漫遊通話");

lodop.set_print_stylea(7,"fontcolor",16711680);

lodop.add_print_text(191,217,100,20,"584.00");

lodop.set_print_stylea(8,"fontcolor",16711680);

lodop.add_print_text(222,58,100,20,"增值業務費");

lodop.set_print_stylea(9,"fontcolor",16711680);

lodop.add_print_text(222,217,100,20,"48.30");

lodop.set_print_stylea(10,"fontcolor",16711680);

lodop.add_print_text(251,58,100,20,"代收費");

lodop.set_print_stylea(11,"fontcolor",16711680);

lodop.add_print_text(251,217,100,20,"50.00");

lodop.set_print_stylea(12,"fontcolor",16711680);

lodop.add_print_text(280,58,100,20,"優惠費");

lodop.set_print_stylea(13,"fontcolor",16711680);

lodop.add_print_text(280,217,100,20,"4.00");

lodop.set_print_stylea(14,"fontcolor",16711680);

lodop.add_print_text(98,101,150,20,"101081005747319387");

lodop.set_print_stylea(15,"fontcolor",16711680);

lodop.add_print_text(97,307,150,20,"2023年10月19日 10:28:38");

lodop.set_print_stylea(16,"fontcolor",16711680);

lodop.add_print_text(152,584,103,20,"138860016786");

lodop.set_print_stylea(17,"fontcolor",16711680);

lodop.add_print_text(95,571,112,20,"06775516");

lodop.set_print_stylea(18,"fontname","system");

lodop.set_print_stylea(18,"fontcolor",16711680);

lodop.add_print_text(496,135,183,20,"2023年09月(20080901-20080930)");

lodop.set_print_stylea(19,"fontcolor",16711680);

lodop.add_print_text(496,572,112,20,"-王府井中心店營");

lodop.set_print_stylea(20,"fontcolor",16711680);

lodop.add_print_text(311,217,100,20,"678.30");

lodop.set_print_stylea(21,"fontcolor",16711680);

lodop.add_print_text(311,58,100,20,"費用合計");

lodop.set_print_stylea(22,"fontcolor",16711680);

lodop.add_print_setup_bkimg("

lodop.set_show_mode ("bkimg_in_preview",1);

其中大部分內容還是比較好理解的,不同的功能呼叫不同的函式preview為預覽、setup為維護、design為設計。

在套打的時候,注意需要通過下面**來設定顯示背景(列印的時候,是不列印背景的)。

lodop.add_print_setup_bkimg("");

lodop.set_show_mode ("bkimg_in_preview",1); //列印預覽時是否包含背景圖

另外,由於報表的內容都是寫在html頁面中的,因此在動態設定內容的時候,一可以用指令碼來讀取介面元素作為資料來源,二可以通過後台**自動生成指令碼**,輸出到前台頁面中,看具體的需要了。

套打的預覽介面大致如下圖所示,其中藍色部分是需要列印的內容,背景是乙個發票的樣板。

下面**是通過指令碼獲取介面元素來取得相應的內容的,這種情況適合於介面上可能會修改一些列印的內容的情景。

lodop.add_print_text(95, 695, 250, 52, document.getelementbyid("txtcompanyname").innertext); //業戶名稱

lodop.set_print_stylea(1, "fontsize", 14);

lodop.set_print_stylea(1, "bold", 1);

var licensedate = document.getelementbyid("txtlicensedate").value;//證件有效期

var licenseyear = "";

var licensemonth = "";

var licenseday = "";

if (licensedate != null && licensedate != "") {

licenseyear = licensedate.split("-")[0];

licensemonth = licensedate.split("-")[1];

licenseday = (licensedate.split("-")[2]).substr(0, 2);

lodop.add_print_text(396, 190, 46, 22, validateyear); //有效期 結束 年

lodop.set_print_stylea(6, "fontsize", 11);

lodop.set_print_stylea(6, "bold", 1);

lodop.add_print_text(396, 253, 30, 22, validatemonth); //有效期 結束 月

lodop.set_print_stylea(7, "fontsize", 11);

lodop.set_print_stylea(7, "bold", 1);

lodop.add_print_text(396, 304, 32, 22, validateday); //有效期 結束 日

lodop.set_print_stylea(8, "fontsize", 11);

lodop.set_print_stylea(8, "bold", 1);

最後附上它的設計介面,其中生成**功能可以生成用於靜態html中的內容布局顯示,做一定的修改調整就可以用在動態頁面中了。非常有用的乙個功能。

關於列印(c 套打

今天經理讓寫乙個套打的程式?在電算化會計工作中,幾乎所有的由計算機生成的會計檔案都應當按照會計制度規定的格式進行輸出設計。例如各類帳本和記帳憑證等。通常,這些檔案的列印輸出處理方式有兩種 第一種 非套打方式 根據會計軟體生成的應輸出的檔案,列印時,既列印應當輸出的資料,也將帳本上印刷的格線列印出來。...

通用套打web端解決方法

類似於證件列印的套打模式,在 web 頁面解決方法中比較棘手。這段時間忙裡偷閒,好好研習了 dhtml 的相關技術寫了乙個以此拋磚引玉。實現的功能 1 可以調整顯示資料的位置 字型和大小 certprint.css 2 可以設定背景和大小 3 可以獲得資料調整後的位置 方便資料庫儲存,無需每次都設定...

自定義列印紙張 c gdi 精確位置列印 套打

寫了個winfor的套打 的程式,由於紙張大小特殊,在c 中找了半天設定印表機相關的內容也沒有設定成功。最後只得在作業系統中進行設定。方法如下 控制面板中開啟 印表機和傳真機設定 視窗 1開啟檔案選單的伺服器屬性,在裡面定義乙個新的紙張型別,設定好紙張大小和列印邊距。2右鍵單擊印表機設定列印首選項,...