Hi alli have a pearl script that converts a ps file to pdf using cupsany
way i need to change the out file permissions, group and owner.how do i
do this ( i would like this script to do this ) or can i call a bash
script from this perl one here is the scripti have altered so that the
file ends up where i need it ! ( it works too)#!/usr/bin/perl# CUPS PDF
Writer Backend# # December 2002# Craig Ringer and Ryan Armanasco##
License: GPL## Version: ***SERIOUSLY*** Beta## Firstly some explanation:##
This is a Perl executable that CUPS considers a backend when you stick#
it in /usr/lib/cups/backend (or equivalent in your distribution)## CUPS
creates a temporary file of the print job, the location of which it#
passes as the 6th arguement to this script.## This file is a postscript
file and is read in and sent to ps2pdf to create# the PDF file## CUPS
expects this script to output certain information to correctly# identify
it as a backend when it is called with no arguements - this is# handles
in the first few lines of code.## The arguements passed to this script by
cups are:## 459 | burrol | ScanImage01 | 1 | | /var/spool/cups/d00459-
001## $ARGV[0] - print job number# $ARGV[1] - username# $ARGV[2] - print
job name# $ARGV[3] - page count i think# $ARGV[4] - i forget now - it is
always blank though# $ARGV[5] - temporary print job locationstrict;vars
qw();# DEBUG stuff - last minute - no error checking :)('env >
/tmp/pdfenv');# CUPS server uses this to identify backends# backends are
required to spit this out when# no arguements are given( scalar(@ARGV) ==
0 ) { print "network pdf2file \"Unknown\" \"PDF File output\"\n";
exit;}$/;# get ready to log stuff - who knows why we named it ERRLOG
:)(ERRLOG,'>/tmp/pdferr') or die "failed to open error log: $!\n";ERRLOG
join(' | ', at ARGV);ERRLOG "\n".$ARGV[1];# if the PDF directory exists for
the designated user:( -d "/usr/data/pdf") {# strip possible bad chars
from print job name: \ / : ; " ' < > * ? | .$ARGV[2] =~
s#[\\\/:;"`<>\*\?\|\.]#_#g;# prepare the deed(PS2PDF,'|/usr/bin/ps2pdf -
/usr/data/pdf/"'.$ARGV[2].'.pdf"') or print ERRLOG "Arrggh, failed
to open pipe to ps2pdf: $!\n", exit;}# open the temporary file CUPS
creates of the print job(CUPSSPOOL,$ARGV[5]) or print ERRLOG
"couldn't open $ARGV[5]: $!\n", exit;# spit the print job at ps2pdfPS2PDF
scalar(<CUPSSPOOL>);#finish off(PS2PDF) or print ERRLOG "Failed to
close pipe to ps2pdf: $!\n", exit;(CUPSSPOOL) or print ERRLOG
"failed to close $ARGV[5]: $!\n", exit;(ERRLOG);# phil needs to change
perm# ENDThanks in advance i have no idea !!- but will have a look for a
howtoRegards Phil Workman
--------------------------------------------------------------------
To remove yourself from this list, email wailug-request at linux.net.nz
with "unsubscribe" in the body of the message.
| More information about the WaiLUG mailing list |
If you have any questions or comments about this page, email the
Webmaster Design Copyright © 1998-2005 Linux.net.nz |