From b1ed9cba21cc145212c4cd3e7fdd1e9f066d2a66 Mon Sep 17 00:00:00 2001 From: Klaus Agnoletti Date: Mon, 27 May 2002 10:24:19 +0000 Subject: * Added printpdf - a little script that is supposed to work as a full-featured pdf creator along with samba. See more info about this on http://www.linuxgazette.com/issue72/bright.html --- printpdf | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 printpdf (limited to 'printpdf') diff --git a/printpdf b/printpdf new file mode 100755 index 0000000..98e722d --- /dev/null +++ b/printpdf @@ -0,0 +1,42 @@ +#!/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 -- cgit v1.2.3