标签: network-printers

PHP打印到网络打印机

我想做什么

在网络打印机上打印PDF文档,同时传递颜色,方向,双面等内容的打印参数.

更多信息

  • 我们有多台网络打印机,其IP静态的并且是已知的(即192.168.0.10)
  • 我发现了一个文件包含的参数/选项列表可以传递到打印机改变打印设置 在这里(其中大部分可以在25页上找到)
  • 我们正在创建一个流程,通过该流程我们将打印黑白文档,除了第二页.这意味着,第一页,以及第3页及以后黑色和白色 ; 2页要被印刷.(这是由于彩色打印的成本,加上我们的其他页面不包含颜色,因此以彩色打印它们是非常无意义的并且大约要贵8倍 - 这个过程每个月会打印数千页,这相当于很多$$$)

我有点<成功>

我登录了其中一台打印机(192.168.0.10 - 理光MP C5503 [如果你真的必须知道])并添加了FTP访问权限
在Windows工作中使用命令提示符打印文档!

> ftp 192.168.0.10
> User (192.168.0.10:(none)): username
> Password: password
> put path\to\file.pdf filetype=PDF
> bye
Run Code Online (Sandbox Code Playgroud)

我试图做的

尝试1使用PHP的exec()函数
我已经尝试了很多方法使exec工作,但无济于事.我无法使用PHP的exec函数运行多行命令(理想情况下,运行以下命令).在exec()中运行以下命令时,我无法连接到FTP,因为必须在上一行运行后执行每一行.我在网上找不到任何内容(多次谷歌搜索没有结果[除了如何从cmd回显多个输出行 - 不是如何连续插入多个cmd行])

> ftp 192.168.0.10
> User (192.168.0.10:(none)): username
> Password: password
> put path\to\test.pdf filetype=PDF
> bye
Run Code Online (Sandbox Code Playgroud)

尝试2使用PHP的exec()函数 …

php network-printers

17
推荐指数
1
解决办法
8896
查看次数

是否有.NET方法来枚举所有可用的网络打印机?

是否有一种简单的方法来枚举.NET中所有可见的网络打印机?目前,我正在显示PrintDialog以允许用户选择打印机.问题是,本地打印机也会显示(与XPS Document Writer等一起).如果我自己可以枚举网络打印机,我可以只显示那些打印机的自定义对话框.

谢谢!!

.net c# network-printers

13
推荐指数
3
解决办法
2万
查看次数

从Windows服务打印时出现错误"访问打印机的设置'printername'无效"

我收到打印到网络打印机时提到的错误.

在XP/Win2003,WinForm应用程序或使用本地打印机下运行时不会发生此错误.

只有在Vista/Win7/Win2008下作为Windows服务运行并打印到网络打印机时才会出现此错误.

Windows服务在可以访问网络打印机的网络用户下运行.在打印之前,我通过循环浏览可用的打印机来检查printername(包括网络路径)是否正常.

怎么解决这个问题?

.net printing windows-services network-printers

10
推荐指数
1
解决办法
3万
查看次数

PHP到Zebra打印机

我将这台Zebra ZM400打印机连接到网络(192.168.1.50).我试图直接从PHP推送内容到这台打印机.

这是一个想法,我只是没有办法做到这一点.我尝试了file_put_contents('192.168.1.50', $content)但没有成功.

如果有人能帮我解决这个问题,我将不胜感激.谢谢 :-)

.................................................. .................................................. .............................

解:

我使用LPR协议打印.无需安装驱动程序或任何东西.PHP 5的LPR打印类可以从这里下载:

http://www.phpclasses.org/package/2540-PHP-Abstraction-for-printing-documents.html

php network-printers zebra-printers

10
推荐指数
2
解决办法
2万
查看次数

Android Wi-Fi扫描:从ScanResult过滤打印机

我正在开发一个需要扫描公共Wi-Fi接入点的项目.

目前,我正在过滤ScanResult这样的:

for (ScanResult scanResult : wifiList) {
  if (!(scanResult.capabilities.contains("WEP") || 
        scanResult.capabilities.contains("WPA") || 
        scanResult.capabilities.contains("WPA2"))) {

              openWifiList.add(scanResult);    

  }
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但我也得到附近的打印机.

扫描时,手机未连接到任何网络.

我原以为我得到的列表与Android上的Wi-Fi设置中显示的Wi-Fi连接列表完全相同.但在Wi-Fi设置中,没有显示任何打印机.

因此1)我认为打印机出现在ScanResult列表中是很奇怪的,打印机是否真的可见


更新:并非所有的Wi-Fi打印机都可见,我得到了一些提示,看起来就像打印机一样,具有特殊功能,例如HP打印机支持 HP Wireless Direct功能(参见例如 https:/ /h30434.www3.hp.com/t5/Inkjet-Printing/Printer-SSID-appearing-on-my-wi-fi-list/td-p/1705073 https://support.hp.com/rs-en/document/c04577030).


2)有什么方法可以检查是否ScanResult属于打印机

到目前为止,我只能想到过滤常见的SSID名称,但这不会非常有效或可靠.

谢谢你的任何建议.

android network-printers wifimanager android-wifi

10
推荐指数
1
解决办法
626
查看次数

从PHP应用程序通过网络打印

我有一组打印机通过网络连接,并为每台打印机分配静态IP.

现在我有一个在Linux服务器上运行的PHP Web应用程序需要通过网络向这些打印机发送打印作业.

这可能是使用lpr或杯子,我该怎么做呢.

php linux printing cups network-printers

9
推荐指数
2
解决办法
3万
查看次数

如果PC连接到网络打印机,如何检查java?

基本上,我需要检查n/w打印机的状态,如果它打开或不打开.在java中有没有办法做到这一点?

是否有任何第三方API或工具?

我尝试在java中使用PrintServiceLookup,但它不提供状态,如果它打开或不打开.

此外,如果在java中不可能,是否有任何命令可以在Windows中运行,将提供打印机的状态?

然后我可以在java中运行这个命令并检查.

java network-printers

9
推荐指数
1
解决办法
1846
查看次数

使用没有驱动程序的IPP打印(IPP客户端)

我有一个无法安装驱动程序的设备/设备.我想通过让用户添加IP地址来添加支持网络/ IPP/AirPrint打印机的功能.

由于我不是通过Windows打印(使用IPP),我如何自己使用IPP?是否有ac#client(或任何Windows库)允许您使用IPP协议与IPP打印机进行交互?

printing network-protocols network-printers ipp-protocol

8
推荐指数
1
解决办法
9198
查看次数

如何在python中将打印作业发送到打印机

我使用Tkinter在python中绘制一些行,我想将该图片打印到Windows中的USB连接和/或网络打印机.我该怎么办?

python printers network-printers

8
推荐指数
1
解决办法
8313
查看次数

ASP.NET MVC中以编程方式"hello world"默认的SERVER端打印机

我安装了打印机并在Intranet服务器上工作,我想以编程方式将"hello world"发送到该默认打印机.这似乎是最简单的事情,但我一直在谷歌搜索几个小时没有成功.(注意:我正在运行Windows 7的部署机器上开发asp.net mvc)

我试图从VB翻译的例子在这里为C#,但它说:"没有安装打印机".

public void TestPrint()
{
    var x = new PrintDocument();
    x.PrintPage += new PrintPageEventHandler(PrintPage);
    x.Print();
}
private void PrintPage(Object sender, PrintPageEventArgs e)
{
    var textToPrint = "Hello world";
    var printFont = new Font("Courier New", 12);
    var leftMargin = e.MarginBounds.Left;
    var topMargin = e.MarginBounds.Top;
    e.Graphics.DrawString(textToPrint, printFont, Brushes.Black, leftMargin, topMargin);
}
Run Code Online (Sandbox Code Playgroud)

我还曾试图片段从MSDN 这里,但它说,它不承认打印机名称.

public void TestPrint(string msg)
{
    var server = new LocalPrintServer();
    var queue = LocalPrintServer.GetDefaultPrintQueue();

    // Call AddJob
    var job = queue.AddJob();

    // …
Run Code Online (Sandbox Code Playgroud)

.net c# printing asp.net-mvc network-printers

7
推荐指数
1
解决办法
7734
查看次数