1753765 Members
6131 Online
108799 Solutions
New Discussion юеВ

Printing a PDF file

 
Shael Richmond
Frequent Advisor

Printing a PDF file

I am trying to create a printer overlay macro for a form. I can make it work with a very simple document. I setup a VMS form to send the escape sequence to the printer to select macro 1.

I was able to get a copy of the document in PDF format. But when I try to print it from VMS it seems to drop some characters. For the most part it prints ok. I've tried on a PC to create a PDF file of the escape sequences but that didn't work.

I want to get the document stored in the printer so our application can call it and print the data to go on the document.

Any sugguestions? I'm not sure why the PDF document wouldn't print, I zipped it on the PC
and FTP'ed it.
9 REPLIES 9
Bojan Nemec
Honored Contributor

Re: Printing a PDF file

Shael,

PDF contents are binary. So try to print the PDF with the /PASSALL qualifier. This instructs the printer symbiont to bypass formatting which can eat or add characters.

Bojan
Shael Richmond
Frequent Advisor

Re: Printing a PDF file

I tried /passall and it actually makes it worse. The file I'm printing is the PDF output file.
David B Sneddon
Honored Contributor

Re: Printing a PDF file

Shael,

What type of printer? I am not aware of any
printers that can accept a PDF file and render
it successfully. You need to convert the PDF
into something the printer can understand.
If the printer can handle postscript then you
may want to use XPDF or Ghostview to convert
the PDF into postscript then print that.

Regards
Dave
Wim Van den Wyngaert
Honored Contributor

Re: Printing a PDF file

Convert it or more simple, print it after you opened the pdf in M$ explorer.

Wim
Wim
Shael Richmond
Frequent Advisor

Re: Printing a PDF file

I called in up in Acrobat Reader and printed it to a file. Then I ftp'ed the file to the VMS system to print.

It's a HP Laserjet printer w/o PS.
Bojan Nemec
Honored Contributor

Re: Printing a PDF file

Shael,

This means that you are printing a file which contains escape sequences for the printer. In this case you need to add the /passall qualifier.
Have you transfered the file using the binary ftp mode?
The second thing is which protocol do you use to access the printer server? If you use a telnet symbiont or a TNA telnet device, the printer server must be able to understand telnet protocol. In case of the telnet symbiont you can define the TCPIP$TELNETSYM_RAW_TCP logical name to suppress the telnet protocol and use a raw socket.

Bojan
Shael Richmond
Frequent Advisor

Re: Printing a PDF file

I tried the /passall and it makes it worse!

I did FTP with binary mode.

TCPIP$TELNETSYM_RAW_TCP is set to 1.

The printer queue is a Telnet symbiont queue.
Lokesh_2
Esteemed Contributor

Re: Printing a PDF file

Hi Shael,

FTP the file with ascii mode and then try printing. Is it possible for you to create DCPS or LPD queue and try from that.

Thanks & regards,
Lokesh
What would you do with your life if you knew you could not fail?
Bojan Nemec
Honored Contributor

Re: Printing a PDF file

Shael,

Can you specify which characters are droped? Are they at the end of the document, on one side, maybe some specific characters or totaly random.

One of methods to find what happens is to set the printer in hexdump mode and then try to print to it from a PC and from VMS. Then you compare the two dumps and/or the dump of the printed document. So you can find which characters are dropped or added.
This is an offul work, maybe creating a temporary "printer" on yours alpha will be easyer.
Create a simple command prcedure:

$ COPY SYS$NET fullpath:PRINTER.DUMP

Now create a temporary service in TCPIP:

TCPIP> SET SERVICE myprinter /PORT=9100 -
/USER=username/PROC=PRINTER -
/FILE=fullpathtoprocedure
TCPIP> ENABLE SERVICE myprinter

(replace username and fullpathtoprocedure with proper values)
Now you can create a queue (just like that you using to the real printer) and set it /ON="yoursip:9100".

After the print command, the printed file will be "copyed" in the fullpath:PRINTER.DUMP
file. You can also setup a PC printer to print to this "printer". The created file will not be properly ended (and there you will have some errors in the log file) but probably it will be easyer to compare the files rather than hex printouts.

To delete the "printer" first delete the queue and then:
TCPIP> DISABLE SERVICE myprinter
TCPIP> SET NOSERVICE myprinter


Bojan