LODOP打印項水平居中


LODOP控制打印項水平居中,可以用如下語句,該語句控制的是打印項本身在紙張中水平居中。
LODOP.SET_PRINT_STYLEA(0,"Horient",2);
這個根據大的打印項本身的寬度,如果打印項本身內部不是居中的,那么加了這句,內容也不會居中。

之前有博文介紹過打印項在紙張中受到的各種邊距:
LODOOP中的各種邊距 打印項、整體偏移、可打區域、內部邊距

例如,打印項的左邊距,是指打印項與紙張之間的距離,打印項內部如果也有左邊距,例如樣式等造成的,那么打印項內容和紙張之間的距離,就不是單純的額打印項左邊距,而是打印項左邊距加上內容內部的左邊距。
同理,打印項水平居中這個樣式,也會受打印項寬度的影響。

其他:此文不再對整體偏移和可打區域做解釋,LODOP不同打印機出現偏移問題,注意在實際代碼里不要設置整體偏移,可針對不同客戶端進行打印維護整體偏移,調整結果只對客戶端本地本機影響。Lodop打印維護PRINT_SETUP本地緩存ini文件

代碼:
1.第一頁的打印項是 根據實際超文本打印項寬度設置的打印項寬度,所以設置打印項在紙張中水平居中后,打印項大致是在紙張中水平居中的。
2.第二頁打印項 打印項寬度設置比實際打印項內容的寬度要大一些,如圖中的打印設計,進入打印設計后,選中該超文本打印項,可以看到右側有空白部分。所以設置打印項在紙張中水平居中后,打印項雖然在紙張中水平居中了,但是打印項中的內容沒有針對紙張居中。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<div id="div1"><!--一個三行三列的table表格-->
<table width="300" border=1 style="border:solid 1px black;border-collapse:collapse" bgcolor="#5dd2e3">
<tr>
    <td width="100">lodop</td>
    <td width="100">c-lodop</td>
    <td width="100">c-lodop</td>
</tr>
<tr>
    <td width="100" >text</td>
    <td width="100">html</td>
    <td width="100">html</td>
</tr>
<tr>
    <td width="100">lodop</td>
    <td width="100">c-lodop</td>
    <td width="100">html</td>
</tr>
</table>
</div>
</div>
<a href="javascript:prn1_dg()">打印設計查看打印項</a><br>
<a href="javascript:prn2_preview()">打印預覽2</a><br>
<script language="javascript" type="text/javascript">   
        var LODOP; //聲明為全局變量 
    function prn1_dg() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.SET_PRINT_PAGESIZE(1,1200,500,"");
        LODOP.ADD_PRINT_HTM(25,30,411,90,document.getElementById("div1").innerHTML);
        LODOP.SET_PRINT_STYLEA(0,"Horient",2);
        LODOP.PRINT_DESIGN();
    };
    function prn2_preview() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.SET_PRINT_PAGESIZE(1,1200,500,"");
        LODOP.ADD_PRINT_HTM(25,30,300,90,document.getElementById("div1").innerHTML);
        LODOP.SET_PRINT_STYLEA(0,"Horient",2);
        LODOP.NEWPAGE();
        LODOP.ADD_PRINT_HTM(25,30,411,90,document.getElementById("div1").innerHTML);
        LODOP.SET_PRINT_STYLEA(0,"Horient",2);
        LODOP.PREVIEW();    
    };
</script> 
</body>

圖示:
1.超文本打印項寬度是實際的內容的寬度。
2.超文本打印項寬度不是實際的內容寬度,打印項內部存在空白區域。
設置打印項相對於紙張水平居中后,第二個寬度較大的,內容不會相對於紙張居中。

ADD_PRINT_TEXT純文本中,內容在文本框中默認是居左的,如果只設置打印項居中,那么文本框存在內部居中,內容也不會相對於紙張居中,所以需要加上文本框內容相對於文本框居中,這樣純文本就能在紙張中居中。
純文本在紙張中居中:
LODOP.SET_PRINT_STYLEA(0,"Alignment",2);//文本框里 內容對於文本框居中
LODOP.SET_PRINT_STYLEA(0,"Horient",2);//打印項在紙張中水平居中
代碼:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<a href="javascript:prn1_dg()">打印設計</a><br>
<script language="javascript" type="text/javascript">   
        var LODOP; //聲明為全局變量 
    function prn1_dg() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.SET_PRINT_PAGESIZE(1,1200,500,"");
        LODOP.ADD_PRINT_TEXT(29,121,100,20,"文本");
        LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
        LODOP.SET_PRINT_STYLEA(0,"Horient",2);
        LODOP.PRINT_DESIGN();
    };
</script> 
</body>

圖示:


由於LODOP生成的條碼二維碼,設置多寬並不一定是多寬,受合計值的影響,因此條碼如果數值不同,在紙張中居中比較難控制,無法做到條碼在紙張中居中,最好留夠最大條碼的寬度,放在一定區域內。

二維碼可以通過打印設計找到在紙張中的居中點,然后設置具體的版本號,統一所有二維碼的大小。
相關博文:Lodop打印條碼二維碼設置多寬不一定是多寬Lodop打印二維碼內容長度不同如何大小相同

簡短問答:
居中打印
1. 打印項居中 參考樣例23 http://www.c-lodop.com/demolist/PrintSample23.html
LODOP.SET_PRINT_STYLEA(0,"Horient",2);//打印項在紙張中水平居中
LODOP.SET_PRINT_STYLEA(0,"Vorient",2);//打印項在紙張中垂直居中
2. add_pirnt_text純文本打印項里面的內容居中
純文本設置Alignment設置水平居中LODOP.SET_PRINT_STYLEA(0,"Alignment",2);//文本框里 內容對於文本框居中,
不支持垂直居中, 具體參考技術手冊;
3.AlignJustify設置純文本兩端對齊和條碼文字對齊
LODOP.SET_PRINT_STYLEA(0,"AlignJustify",1);//純文本兩端對齊
LODOP.SET_PRINT_STYLEA(0,"AlignJustify",2);//設置條碼下方的文字相對於條碼本身居中
4.Html 通過css 控制 參考樣例2 ,10;http://www.c-lodop.com/demolist/PrintSample10.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM