Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Win32上使用Perl将数据发送到网络打印机?_Perl_Winapi_Printing - Fatal编程技术网

如何在Win32上使用Perl将数据发送到网络打印机?

如何在Win32上使用Perl将数据发送到网络打印机?,perl,winapi,printing,Perl,Winapi,Printing,我需要用Perl将相对复杂的布局打印到联网/共享打印机上,我还没有找到任何模块或示例来帮助我完成这项任务。有没有人有任何可以帮助我的链接 我想我想做的事可以作为附言 更新:好的,我并不需要关于如何生成PDF或Postscript的帮助。我相信这是有充分记录的。我想知道的是,我如何使用perl将PDF发送到windows中的打印机?如果您有PDF文件,并且用户安装了Adobe Reader(这是非常标准的),您应该能够使用以下功能将文件打印到默认打印机: 公开Win32打印API,包括打印机选择和

我需要用Perl将相对复杂的布局打印到联网/共享打印机上,我还没有找到任何模块或示例来帮助我完成这项任务。有没有人有任何可以帮助我的链接

我想我想做的事可以作为附言


更新:好的,我并不需要关于如何生成PDF或Postscript的帮助。我相信这是有充分记录的。我想知道的是,我如何使用perl将PDF发送到windows中的打印机?如果您有PDF文件,并且用户安装了Adobe Reader(这是非常标准的),您应该能够使用以下功能将文件打印到默认打印机:

公开Win32打印API,包括打印机选择和低级打印命令


但是,在任何打印机上打印PDF文件的(IMHO)简单方法是使用Ghostscript生成PCL或PS输出(取决于打印机支持的语言),然后
将生成的文件复制到打印机(使用其UNC路径)。您可能需要为
copy
命令指定
/b
开关。

Wx::Perl具有非常好的、经过自由许可的Win32 pinting功能

我还没有使用来自WxPerl的Postscript或PDF,所以我不知道会涉及到什么。谷歌搜索wxPerl打印pdf文件出现

主题:Re:[wxperl用户]打印 来自wxPerl操作的PDF。。。发件人:马克 Dootson(mark..。@znix.com)日期:4月 2007年5月5日下午5:02:40 列表:org.perl.wxperl-users

在写了最后一个回复后,一个巨大的 我突然想到 结果证明,它工作得很好

使用Wx::ActiveX::IE将 您的pdf,并愉快地打印。e、 g

当然,我和杂技演员 插件可能看起来有点过分 只是为了打印一份文件,但见鬼,这是 windows和四行代码是 非常令人印象深刻

标记


可能是另一种选择。我还没有试过,也不能担保,但它声称可以将postscript数据打印到非postscript打印机。

好的,我仍然需要学习postscript或其他东西,但我发现以下方法有效:

use autodie;
use File::Copy;
copy 'C:\\frew.ps', '\\\\oxygen\\HPLJ5100 PCL6';

不太复杂。这似乎比
open
ing打印机和
print
ing打印机更有效。

什么是“布局”?如果它是(或可以转换为)PostScript,那么我想事情会变得更容易。这很好,但我需要能够打印到多台打印机。不过我会看看Win32::FileOp的内容。
 my $obj = Wx::ActiveX::IE->new( $frame, -1, wxDefaultPosition, wxDefaultSize );
 $obj->LoadUrl("file:///C:/mytest.pdf");
 $obj->Print(0); # for no print dialog
 $obj->Print(1); # for print dialog
use autodie;
use File::Copy;
copy 'C:\\frew.ps', '\\\\oxygen\\HPLJ5100 PCL6';