请问用 PHP 实现发票套打,大家都怎么做? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bluestonemds
V2EX    问与答

请问用 PHP 实现发票套打,大家都怎么做?

  •  
  •   bluestonemds 2015-12-17 18:13:13 +08:00 5662 次点击
    这是一个创建于 3587 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在网上查了一下,有用 excel 制作模板,然后读取打印的,不过 DEMO 我没有跑通。

    15 条回复    2019-02-18 17:11:29 +08:00
    bluestonemds
        1
    bluestonemds  
    OP
       2015-12-17 19:01:42 +08:00
    可以采用 CSS 绝对定位的办法,不过感觉好笨的样子。
    manhere
        2
    manhere  
       2015-12-17 19:07:50 +08:00 via iPhone
    如果是 B/S 结构,建议用报表控件
    cevincheung
        3
    cevincheung  
       2015-12-17 19:13:52 +08:00
    这跟 PHP 毫无关系吧。- -# 参考 @bluestonemds




    @bluestonemds 一点都不笨,除非要做成桌面软件直接调用打印机的,不过即便这样,那也是在软件里进行各个条目的鼠标拖动定位来进行的。这东西本身就这么一个原理。
    wxg4net
        4
    wxg4net  
       2015-12-17 19:21:39 +08:00
    我喜欢用 python 做这个事情.. 批量打印个学生毕业证什么呢 比 excel 或者其它方式操作更快捷、更安全...
    需要 python 打印源码请留言 支持 windows xp 及更高版本系统
    t2doo
        5
    t2doo  
       2015-12-17 19:49:50 +08:00
    @wxg4net 正在学习 python 中, show me the code ,万分感谢老司机
    xuyinan503
        6
    xuyinan503  
       2015-12-17 19:53:05 +08:00
    服务器端打印还是客户端浏览器打印?

    客户端打浏览器需要配置权限,一般来说 js 是无法操作 excel 文件的
    bluestonemds
        7
    bluestonemds  
    OP
       2015-12-17 20:33:11 +08:00
    @xuyinan503 应该采用服务器端还是客户端? 这个软件只是局域网内应用。
    bluestonemds
        8
    bluestonemds  
    OP
       2015-12-17 20:33:33 +08:00
    @manhere 请推荐一款报表控件。
    KiseXu
        9
    KiseXu  
       2015-12-17 20:42:55 +08:00
    @bluestonemds 永远都别指望 css 能准确控制打印尺寸、位置。我试过,如果要定位打印,有三种方法
    : 1.用控件; 2.用 php 生成 PDF 格式文件,打印; 3.把打印位置、大小设置为可调节,让打印人员根据自己浏览器打印情况,调整参数
    xuhaoyangx
        10
    xuhaoyangx  
       2015-12-17 20:58:24 +08:00
    B/S 基本都是用控件,才能最简单的来打印。
    xuyinan503
        11
    xuyinan503  
       2015-12-17 21:02:07 +08:00
    @bluestonemds 我 google 了一下, php 好像没有打印 excel 的框架,至少我没 google 到,只有输出 excel 的框架。所以只能用前端 js 来打印了。

    js 打印主要就是 var app = new ActiveXObject("Excel.application");
    创建一个 activex 对象然后对他进行操作
    activex 这玩意儿一般只有 ie 有效, chrome 不能用网银就是因为这个

    参照下边的做
    打印代码
    http://blog.itpub.net/23278472/viewspace-687180/
    Excel.application 官方文档
    https://msdn.microsoft.com/en-us/library/office/ff198091.aspx
    最下边有 ie 权限配置
    http://www.4byte.cn/learning/4131.html
    xuyinan503
        12
    xuyinan503  
       2015-12-17 21:03:23 +08:00
    如果 js 不成功,请自行 f12 查看错误信息调试
    bluestonemds
        13
    bluestonemds  
    OP
       2015-12-17 21:07:59 +08:00
    多谢各位,我还是没有头绪,决定先用 CSS 试试。
    wxg4net
        14
    wxg4net  
       2015-12-17 21:08:25 +08:00
    @t2doo 不好意思 那个源码是三年前的了 备份不知道放在什么地方了 暂时没有找到。不过和 python 语法没多大关系 都是 win32ui, win32print 等库的用法 目的在于控制打印参数。
    powertoolsteam
        15
    powertoolsteam  
       2019-02-18 17:11:29 +08:00
    @bluestonemds 可以试用一下 ActiveReports 报表控件 https://www.grapecity.com.cn/developer/activereports

    打印衡量报表工具是否专业的重要指标之一,ActiveReports 报表控件无需在客户端安装任何插件,就能够实现打印,支持的典型打印方式包括:预览打印、报表套打、连续打印、多份打印、合并打印、批量打印、单据打印、条码打印等。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     904 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 22:35 PVG 06:35 LAX 15:35 JFK 18:35
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86