#!/bin/sh # Simple script to convert a specified postscript file into a PDF document # and place it in a location that is shared by the Samba server. # # Arguments: # 1st - The name of the spool file # # John Bright, 2001, jbright@winfordeng.com # We will create the pdf into a temporary file based upon the current date and time. # After we are finished, we'll rename it to a file with the same date, but ending # in .pdf. We do this because if a user tries to open a PDF that is still being written, # they will get a message that it is corrupt, when it is actually just not done yet. DATE=`date +%b%d-%H%M%S` # Directory in which to place the output # Be sure this directory exists and is writable by the user that Samba # is running as (for example, the nobody user) OUTDIR=/home/fsadmin/COMMON/pdfshare FILENAME=$1 USERNAME=$2 #FILENAME="/tmp/test.ps" LOGFILE="/tmp/printpdf.log" LOOP='yes' while [ "$LOOP" = 'yes' ]; do FILESTATE=`/usr/sbin/lsof | grep $FILENAME` echo "$FILESTATE" >> $LOGFILE if [ "$FILESTATE" != '' ]; then sleep 5 echo "Printfile is still open. Sleeping 5...">> $LOGFILE else ps2pdf $FILENAME /tmp/$DATE.temp mv /tmp/$DATE.temp $OUTDIR/$USERNAME-$DATE.pdf rm $FILENAME echo "PDF print to file $OUTDIR/$USERNAME-$DATE.pdf is finished" >> $LOGFILE LOOP='no' fi done