[Samba] HOWTO Create a PDF Writer in samba
Martyn Ranyard
ranyardm at lineone.net
Mon Jul 29 10:33:29 GMT 2002
Hi all,
Thought I'd post this to the list as I found a better way of doing
it. Nice to have for posterity.
Please include it in the source of samba if you wish - I hereby license
it under GPL
1. install ghostscript (most distributions include it anyway)
2. put the following in the file /usr/sbin/pdfprint and make it executable
by whatever your guest user for samba is :
#!/bin/bash
#convert to pdf $1 = spool file $2 = uid $3 = gid $4 = machinename $5 = ip
FILENAME=pdf-$2-`date +%d%m%H%M%S`.pdf
OUTPUTPATH=/mnt/raid/topdf
echo converting $1 to $FILENAME for $2 of machine $4... >>
$OUTPUTPATH/pdfcreate.log
/usr/bin/ps2pdf $1 $OUTPUTPATH/$FILENAME >> $OUTPUTPATH/pdfcreate.log 2>>
$OUTPUTPATH/pdfcreate.log
echo conversion finished, removing $1 >> $OUTPUTPATH/pdfcreate.log
rm $1
echo done, setting permissions and notifing user >> $OUTPUTPATH/pdfcreate.log
chown $2:$3 /mnt/raid/topdf/$FILENAME >> $OUTPUTPATH/pdfcreate.log
chmod 700 /mnt/raid/topdf/$FILENAME >> $OUTPUTPATH/pdfcreate.log
echo your new PDF is called $FILENAME. | smbclient -M $4 -I $5
echo All done. >> $OUTPUTPATH/pdfcreate.log
echo >> $OUTPUTPATH/pdfcreate.log
of course the permissions and file format can be altered depending on your
system, but make sure that as these files are created by the guest user,
that the directories referenced (spool dir and OUTPUTPATH) are writable by
nobody (or whatever your guest user is).
3. edit your smb.conf file and add something like the following :
[pdfwriter]
path = /var/spool/samba
guest ok = yes
browseable = yes
printable = yes
read only = no
force group = root
force user = root
force create mode = 0777
print command = /usr/sbin/pdfprint %s %U %G %m %I
Yet again, the permissions I have arrived at via trial-and-error and are
more than a little insecure :)
4. restart samba
root at linuxsambaserver:~# killall -HUP smbd ; killall -HUP nmbd
NB this apparently is not the way to do it on anything other than Linux!
5. Assign a postscript printer to the pdfwriter printer - Apple Color
LaserWriter 12/600 works well for me on NT4, but Adobe do a free (small F)
printer driver, which also works well.
6. Print. You should get a message (NT/2K/XP/9x with winpopup) informing
you of the name of your file.
Hope this helps someone.
Martyn Ranyard
Free Software Advocate
jabber - joran at amessage.de
icq - 122500800
irc - Joran on oftc
msn - ranyardm at hotmail.com
e - ranyardm at lineone.net
More information about the samba
mailing list