#!/usr/bin/perl use strict; use CGI ':standard'; #use PDF::API2; #use MIME::Lite; use Net::Printer; #use utf8; my ( $WeekNumber, $DocumentUID, $CheckInDate, $BookingReference, $OutstandingBalance, $TypeOfForm, $PathToTestDocument, $TestDocument, $TestString, $PrinterName, $NetworkPrinter, $PrintDocument ); $WeekNumber = "41"; $DocumentUID ="1067"; $CheckInDate = "Sat 5th Oct 2019"; $BookingReference = "WTBA234C4"; $OutstandingBalance = 0; $TypeOfForm = "Registration Document"; $PathToTestDocument = "/*****/*****"; $TestDocument = "$WeekNumber\_$DocumentUID \($CheckInDate\) $BookingReference $TypeOfForm.pdf"; $TestString = "I Will get This Perl Script to Print Something, i will!?"; $PrinterName = " HP Network Printer"; $NetworkPrinter = new Net::Printer( printer => "$PrinterName", # Printer's Name! server => "10.1.1.25", # IP Address of Printer port => 9100, # Printer's Port Number lineconvert => "Yes", ); print "Content-Type:text/html\n\n"; if ( (($OutstandingBalance <= 0) && ($TypeOfForm ne "Cancelled Booking")) && ( -e "$PathToTestDocument/$TestDocument") ) { ##### Print a PDF Document to Printer # ##### Line 51 ##### $PrintDocument = $NetworkPrinter->printfile("$PathToTestDocument/$TestDocument"); # FAILS! ##### Line 51 ##### # ##### Print a String of text to Printer # #$PrintDocument = $NetworkPrinter->printstring($TestString); # FAILS! (If uncommented) # print "
Something should get printed out of the printer!?

Network Printer's Name: $PrinterName

Test Document Path: $PathToTestDocument

Test Document Name: $TestDocument

Test String: $TestString

Type Of Form: $TypeOfForm

Contents of VarName PrintDocument: $PrintDocument
"; } else { print "
Something went wrong!?

Network Printer's Name: $PrinterName

Test Document Path: $PathToTestDocument

Test Document Name: $TestDocument

Test String: $TestString

Type Of Form: $TypeOfForm

Contents of VarName PrintDocument: $PrintDocument
"; }; exit;