Назад | Перейти на главную страницу

внутренний PDF-принтер всегда показывает идеальное состояние

Я пытаюсь реализовать бэкэнд для создания PDF-принтера с использованием чашек в freebsd. Пока мне удалось создать принтер с помощью бэкэнда, но статус принтера всегда простаивает и вообще не принимает никаких заданий на печать.

вот что я сделал до сих пор,

я использовал Allow All разрешение для обоих <Location /admin> и <Location /> в файле конфигурации Cups, cupsd.conf для целей тестирования.

После этого я создал новый файл с именем pdf в backend каталог под lib/cups/backend. В моем pdf файл я использую следующий код,

#!/bin/sh
# -------------------------------------------------------------------
# "/usr/lib/cups/backend/pdf":
# -------------------------------------------------------------------
# I have modified the following link with the correct link where my 
# ps2pdf.cups is
PDFBIN=/usr/lib/cups/pdf/ps2pdf.cups
FILENAME=
# filename of the PDF File
PRINTTIME=`date +%Y-%m-%d_%H.%M.%S`
# no argument, prints available URIs
if [ $# -eq 0 ]; then
  if [ ! -x "$PDFBIN" ]; then
    exit 0
  fi
  echo "direct pdf \"Unknown\" \"PDF Creator\""
  exit 0
fi
# case of wrong number of arguments
if [ $# -ne 5 -a $# -ne 6 ]; then
  echo "Usage: pdf job-id user title copies options [file]"
  exit 1
fi
# get PDF directory from device URI, and check write status
PDFDIR=${DEVICE_URI#pdf:}
if [ ! -d "$PDFDIR" -o ! -w "$PDFDIR" ]; then
  echo "ERROR: directory $PDFDIR not writable"
  exit 1
fi
# generate output filename
OUTPUTFILENAME=
if [ "$3" = "" ]; then
  OUTPUTFILENAME="$PDFDIR/unknown.pdf"
else
  if [ "$2" != "" ]; then
    OUTPUTFILENAME="$PDFDIR/$2-$PRINTTIME.pdf"
  else
    OUTPUTFILENAME="$PDFDIR/$PRINTTIME.pdf"
  fi
fi
# run ghostscript
if [ $# -eq 6 ]; then
  $PDFBIN $6 $OUTPUTFILENAME >& /dev/null
else
  $PDFBIN - $OUTPUTFILENAME >& /dev/null
fi

# Make the file visible (but read-only except for owner);
# This is only needed when the username ($2) is not set,
# for instance when printing a test page from the web interface.
chmod 644 $OUTPUTFILENAME


if [ "$2" != "" ]; then
      chown $2 $OUTPUTFILENAME
      chmod 700 $OUTPUTFILENAME
fi
exit 0

# EOF
# -------------------------------------------------------------------

Источник из http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:cups#pdf_printer_scripts

и Запуск принтера с помощью следующей команды,

lpadmin -p pdfprinter -v pdf:/var/spool/pdf/ -D "Generate PDF files" -E -P /home/pdfTest/disteller.ppd

Я также установил разрешение myy backend pdf файл в 755 а также пробовали 775 и 777 но статус принтера на localhost:631/printers всегда простаивает.

Когда я нажимаю «Распечатать тестовую страницу» из localhost:631/printers

он показывает следующую ошибку,

Print Test Page pdf Error

Unable to print test page:

No such file or directory

Может ли кто-нибудь сказать мне, что мне здесь не хватает?