V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
codenamea
V2EX  ›  问与答

求一些HTML和js控制打印机的一些资料。比如换页,边距,精确定位之类的。。

  •  
  •   codenamea · 2012-11-16 17:24:58 +08:00 · 4542 次点击
    这是一个创建于 4390 天前的主题,其中的信息可能已经有所发展或是发生改变。
    想要写一个简单的WEB页面用于打印。
    但是想要精确定位到打印纸的某些位置。
    也可以理解成类似于打快递单的感觉。

    求一些相关资料。。。。感谢各位~
    7 条回复    1970-01-01 08:00:00 +08:00
    froo
        1
    froo  
       2012-11-19 17:16:16 +08:00   ❤️ 1
    看下这个js打印控件:Lodop http://mtsoftware.v053.gokao.net/
    codenamea
        2
    codenamea  
    OP
       2012-11-19 17:24:16 +08:00
    @froo 感谢,但是我需要的不是这种重量型的产品。。。。 我记得CSS和JS本身就能做到不少打印有关的控制。
    cyr1l
        3
    cyr1l  
       2012-11-19 18:07:11 +08:00
    用表格吧。 然后宽度高度写百分比,适应缩放。 比如,
    body{
    width:100%;
    }
    main{
    width:96%;
    }
    不需要打印出来的元素添加上 display:none;
    codenamea
        4
    codenamea  
    OP
       2012-11-19 18:09:20 +08:00
    @cyr1l

    这个。。。太简单了吧。用css一样可以做不需要table呀。

    我需要的是比如强制打印机换页打印之泪的稍微高级一点的功能以及精确到打印纸某个特殊位置误差不能超过5毫米的精确定位打印之类的。。
    wayn3h0
        5
    wayn3h0  
       2012-11-19 20:05:50 +08:00   ❤️ 1
    @codenamea 以前研究过,目前用js和html做不到精确控制,只能写控件来实现 flash, java applet可以实现精确控制,ms的sl不推荐,一是安装率不够,二是目前只能输出巨大的文件进行打印~
    zythum
        6
    zythum  
       2012-11-19 21:22:43 +08:00   ❤️ 2
    粘一下笔记,出处已经忘了

    在公制长度单位与屏幕分辨率进行换算时,必须用到一个DPI(Dot Per Inch)指标。
    经过我仔细的测试,发现了网页打印中,默认采用的是96dpi
    A4纸张的尺寸是210×297mm,按1英寸=25.41mm换算,即8.264×11.688英寸
    所以,A4纸96dpi下的分辨率是794×1123,这就是我们在制作网页的时候需要的象素。
    但是打印机是无法满幅打印的,总要有页边距,所以我们在制作网页的时候必须减去页边距。
    以下是我测试的各种页边距下,A4纸对应的象素尺寸:
    打印页边距设定为 0mm 时,网页内最大元素的分辨率:794×1123
    <div style="width:794px;height:1123px;border:1px solid #000000;"> </div>
    打印页边距设定为 5mm 时,网页内最大元素的分辨率:756×1086
    <div style="width:756px;height:1086px;border:1px solid #000000;"> </div>
    打印页边距设定为 19.05mm 时,网页内最大元素的分辨率:649×978
    <div style="width:649px;height:978px;border:1px solid #000000;"> </div>
    codenamea
        7
    codenamea  
    OP
       2012-11-20 01:24:27 +08:00
    我银币不多啊。。不过还是猛点了感谢。。。 感谢LS几位。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2824 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 14:37 · PVG 22:37 · LAX 06:37 · JFK 09:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.