V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dettac
V2EX  ›  PHP

[求助]是否有办法使用 php 控制本地打印机打印文档?

  •  
  •   dettac · 2016-04-21 00:32:17 +08:00 · 3054 次点击
    这是一个创建于 3170 天前的主题,其中的信息可能已经有所发展或是发生改变。

    ##情景描述

    现在手头有一台电脑,连接着打印机,且驱动已经安装正确。 本地搭建了 php 的环境,有没有办法通过执行 php 文件来控制打印机打印本台电脑上的 PDF 文档?

    ##思路

    使用 cmd 下命令

    NET USE LPT2 \\{本机局域网 IP 地址}\{本机 php 程序路径}  
    PRINT /d:LPT2 D:\test.pdf
    

    成功打印

    但是使用 php 的 exec()时错误提示“无法初始化 LPT2 ”。。。

    请问各位有没有什么办法解决此问题,非常感谢!

    8 条回复    2016-04-22 22:12:23 +08:00
    konakona
        1
    konakona  
       2016-04-21 00:51:45 +08:00
    JS 模拟 ctrl+p?
    yangqi
        2
    yangqi  
       2016-04-21 00:58:42 +08:00
    把命令放到.bat 文件里,然后 php 运行外部文件就行了
    dettac
        3
    dettac  
    OP
       2016-04-21 01:16:09 +08:00
    @konakona 不行呀, ctrl+p 是打印当前页面,而我需要打印的东西在电脑硬盘中呢~
    skydiver
        4
    skydiver  
       2016-04-21 01:22:12 +08:00 via iPad
    如果你直接命令行执行也有问题那就是命令的问题。如果命令行可以 PHP 不行那就是 PHP 的权限问题。先缩小范围再仔细寻找问题点呗
    dettac
        5
    dettac  
    OP
       2016-04-21 01:23:27 +08:00
    @yangqi 谢谢大神!搞定!跪谢呀~~
    Sunyanzi
        6
    Sunyanzi  
       2016-04-21 03:44:28 +08:00   ❤️ 1
    顺带一提 ... php 有个叫 printer 的扩展是专门用来干这事儿的 ... 比用 exec 优雅点 ...

    不过既然你已经实现了就当个额外的参考知识听吧 ...
    dettac
        7
    dettac  
    OP
       2016-04-21 20:33:54 +08:00 via iPhone
    @Sunyanzi 这个扩展好像资料不是很多呀,方便顺手给个地址吗
    Sunyanzi
        8
    Sunyanzi  
       2016-04-22 22:12:23 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1539 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:59 · PVG 00:59 · LAX 08:59 · JFK 11:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.