Как я могу сжать pdf-файл в другом каталоге с помощью команды ghostscript?

#javascript #node.js #pdf #terminal #ghostscript

Вопрос:

Как я могу сжать pdf-файл в другом каталоге, используя приведенную ниже команду?:

 ghostscript -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input.pdf
 

/books/input.pdf вместо input.pdf Не сжимает файл input.pdf, который находится в /books каталоге.

Я использую ghostscript4js в своем приложении node для сжатия pdf с помощью команд, но pdf должен находиться в том же каталоге, что и server.js файл, чтобы его можно было сжать. Так как я хочу хранить свои PDF-файлы в отдельном каталоге (т. Е. /книги) Интересно, как я могу это сделать? А также могу ли я вывести данные в другой каталог?

Комментарии:

1. Ghostscript (точнее, устройство pdfwrite) не сжимает PDF-файлы, а создает их. Новый PDF-файл может быть меньше, чем исходный ввод, в зависимости от ряда факторов. Не существует исполняемого файла под названием «ghostscript». Двоичные исполняемые файлы Ghostscript называются gs, gswinxx или gswinxxc (где xx-размер слова). Учитывая разделитель путей, который вы используете ( / ), кажется вероятным, что вы находитесь в системе Linux или macOS. У вас действительно есть каталог на корневом уровне под названием «книги»? Или это подкаталог из текущего ? Если латте либо использует правильный синтаксис (например, /книги), либо полный путь.

2. Тнкс! Я поставил абсолютный путь, и он работает.

Ответ №1:

/books/input.pdf не будет работать, то, что я должен был использовать, это ./books/input.pdf .