首页 > 技术文章 > Lodop打印html数字间隔不一致

huaxie 2019-02-13 09:50 原文

在font-size属性控制数字大小的时候,可能会出现数字间隔有问题,间隔不一致,可尝试用其他字体大小试试,一般字体越小,越可能出现问题。

如图,前两个打印项都是form1,样式一个是style1,一个是syle2。而style1和style2的区别就是字体大小,一个是9px,一个是12px。
在本人的这台电脑上,9px数字间隔有点问题,而12px没有,此外px数值越小,字越小,间隔问题越严重,有客户12px不可以,再加大才可以。
如图,7pt是正常的,此外3pt,1pt,等放大后也是正常的。

可尝试的解决方法:
1:加大px的数值,换其他数值试试。
2:换用pt设置字体大小试试。

测试代码:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
<style id="style1"> table,td,th {border-width:1px;border-style:solid;border-color:#cccccc;border-collapse:collapse;font-size:9px;}</style>
<style id="style2"> table,td,th {border-width:1px;border-style:solid;border-color:#cccccc;border-collapse:collapse;font-size:12px;}</style>
</head>
<body>
<form id="form1">
 <table style="width:700px;font-family:'宋体';">
 <tr>
 <td style="text-align: center;">1</td>
 <td>1130005205000177</td>
 </tr>
 </table>
 </form>
<form id="form2">
 <table>
 <tr style="font-size:9px;">
 <td>1</td>
 <td>1130005205000177</td>
 </tr>
 </table>
<span style="font-size:9px;">1130005205000177</span>
<span style="font-size:7pt;">1130005205000177</span>
1130005205000177
<span style="font-size:3px;">1130005205000177</span>
 </form>
<a href="javascript:prn1_preview()">打印预览</a><br>
<script language="javascript" type="text/javascript">   
        var LODOP; //声明为全局变量 
    function prn1_preview() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        var strBodyStyle1="<style>"+document.getElementById("style1").innerHTML+"</style>";
        var strBodyStyle2="<style>"+document.getElementById("style2").innerHTML+"</style>";
        var strFormHtml1=strBodyStyle1+"<body>"+document.getElementById("form1").innerHTML+"</body>";
        var strFormHtml2=strBodyStyle2+"<body>"+document.getElementById("form1").innerHTML+"</body>";
        LODOP.ADD_PRINT_HTM(10,10,350,60,strFormHtml1);
        LODOP.ADD_PRINT_HTM(80,10,350,60,strFormHtml2);
        LODOP.ADD_PRINT_HTM(150,10,350,60,document.getElementById("form2").innerHTML);
        LODOP.ADD_PRINT_HTM(210,10,"100%","100%",document.documentElement.innerHTML);
        LODOP.PRINT_DESIGN();
        //LODOP.PREVIEW();    
    };
</script> 
</body>

图示:

推荐阅读