dettac
V2EX  ›  PHP

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

  •  
  •   dettac · Apr 21, 2016 · 3688 views
    This topic created in 3684 days ago, the information mentioned may be changed or developed.

    ##情景描述

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

    ##思路

    使用 cmd 下命令

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

    成功打印

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

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

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

    不过既然你已经实现了就当个额外的参考知识听吧 ...
    dettac
        7
    dettac  
    OP
       Apr 21, 2016 via iPhone
    @Sunyanzi 这个扩展好像资料不是很多呀,方便顺手给个地址吗
    Sunyanzi
        8
    Sunyanzi  
       Apr 22, 2016
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3832 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 00:11 · PVG 08:11 · LAX 17:11 · JFK 20:11
    ♥ Do have faith in what you're doing.