James B. Byrne via freebsd-questions
2021-04-20 15:51:20 UTC
I am trying to produce pdf files using socat and ghostscript. I have this
command for socat:
socat TCP4-LISTEN:9100,bind=192.168.216.41,fork,reuseaddr SYSTEM:'gs -dQUIET
-dNOPROMPT -dBATCH -sDEVICE=pdfwrite -sOutputFile=/tmp/\"$(date
-Iseconds)\".pdf -'
Which I try to send a text file to using cat and nc:
cat sshpipe3.txt | nc 192.168.216.41 9100
What happens is that the cat/nc pipe hangs. This is probably an artifact of
how nc works but I need to check that is so. When I terminate nc with <ctrl>-c
the socat gs instance reports an error:
GPL Ghostscript 9.52: Unrecoverable error, exit code 1
2021/04/20 11:32:51 socat[67296] E write(6, 0x800adf000, 128): Broken pipe
This produces an empty file named like /tmp/2021-04-20T11:13:20-04:00.pdf.
I am no doubt missing the obvious here so I have a few naive questions:
1. Is it possible to terminate the sending process without causing GS to issue
an error?
2. Would printing from another host to that socat instance result in the same
broken pipe error?
3. Why are the files that gs creates empty?
4. How do I send a text file to the socat instance so that it is converted to a
pdf document?
--
*** e-Mail is NOT a SECURE channel ***
Do NOT transmit sensitive data via e-Mail
Unencrypted messages have no legal claim to privacy
Do NOT open attachments nor follow links sent by e-Mail
James B. Byrne mailto:***@Harte-Lyne.ca
Harte & Lyne Limited http://www.harte-lyne.ca
9 Brockley Drive vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada L8E 3C3
command for socat:
socat TCP4-LISTEN:9100,bind=192.168.216.41,fork,reuseaddr SYSTEM:'gs -dQUIET
-dNOPROMPT -dBATCH -sDEVICE=pdfwrite -sOutputFile=/tmp/\"$(date
-Iseconds)\".pdf -'
Which I try to send a text file to using cat and nc:
cat sshpipe3.txt | nc 192.168.216.41 9100
What happens is that the cat/nc pipe hangs. This is probably an artifact of
how nc works but I need to check that is so. When I terminate nc with <ctrl>-c
the socat gs instance reports an error:
GPL Ghostscript 9.52: Unrecoverable error, exit code 1
2021/04/20 11:32:51 socat[67296] E write(6, 0x800adf000, 128): Broken pipe
This produces an empty file named like /tmp/2021-04-20T11:13:20-04:00.pdf.
I am no doubt missing the obvious here so I have a few naive questions:
1. Is it possible to terminate the sending process without causing GS to issue
an error?
2. Would printing from another host to that socat instance result in the same
broken pipe error?
3. Why are the files that gs creates empty?
4. How do I send a text file to the socat instance so that it is converted to a
pdf document?
--
*** e-Mail is NOT a SECURE channel ***
Do NOT transmit sensitive data via e-Mail
Unencrypted messages have no legal claim to privacy
Do NOT open attachments nor follow links sent by e-Mail
James B. Byrne mailto:***@Harte-Lyne.ca
Harte & Lyne Limited http://www.harte-lyne.ca
9 Brockley Drive vox: +1 905 561 1241
Hamilton, Ontario fax: +1 905 561 0757
Canada L8E 3C3