I use Win32::Printer everyday on network printers. The trick is to have the printer name exactly match the name of the printer queue.
Here is sample code to print to the PDF file or the printer
if ($PrintAsPDF==0)
{
our $dc = new Win32::Printer(
width => $PageWidth,
height => $PageHeight,
description => 'Sample Description',
printer => $PrinterName,
orientation => $PageOrientation,
unit => $Units);
} else {
our $dc = new Win32::Printer(
width => $PageWidth,
height => $PageHeight,
description => 'Sample Description',
printer => $PrinterName,
file => $PDFFileName.'.pdf',
pdf => 1,
unit => $Units);
}
I usually use the rename function on the printers queue to highlight the printer name and copy it into my application configuration YAML.
Don't forget to to install Ghostscript or you can't print a PDf file.
From the Win32::Printer POD
"Set this attribute if You want to convert PostScript printer drivers output to PDF format. WARNING: This feature needs installed Ghostscript and atleast one PostScript printer driver. Use this attribute with "file" or "prompt" attributes."
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.