Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Печать с помощью скрипта в разные папки. CUPS-PDF  (Прочитано 807 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Nekto.Rom

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Всем привет)
У меня тут такое дело: на почту приходят письма с вложениями. Письма от "Андрея" (А) и письма от "Бориса" (Б) через fetchmail обрабатываются каждые 5 минут и их вложения попадают в соответствующие папки "А" и "Б".
Далее, эти вложения через скрипт печатаются (конвертируются) в формат PDF и попадают в папку PDF в домашний каталог. Проблема в том, что вложения от "А" и от "Б" попадают в одну общую папку, а мне нужно, чтобы они были также в раздельных папках (PDF_A и PDF_B).
Что для этого нужно сделать? Помогите разобраться, плиз)
CUPS-PDF установлен.

Вот скрипт, который печатает файлы в PDF (на примере "А"). Для "Б" у меня точно такой же скрипт, только меняются папки расположения вложений. Скрипты записаны в cron.
Через этот скрипт у меня обрабатываются все файлы (документы word, текстовые файлы, изображения, excel таблицы)

#!/bin/bash
     
    DIR="/home/vasya/fetchmail/attachments/A"
    DIR_DONE="/home/vasya/fetchmail/attachments/A"
    ERR_LOG="/home/vasya/fetchmail/attachments/A/err/err.log"
     
    cd "$DIR" || exit 1
    mkdir -p "$DIR_DONE"
    find -maxdepth 1 -iname "*" -exec bash -c "if loffice -p {} ; then mv {} \"$DIR_DONE\" ; else echo \"Unable to print {}\" >>\"$ERR_LOG\" ; fi" \;
     
    exit 0

ТС, как видно по состоянию на 22/02/2020 потерял интерес к созданной им теме (пометка Решено в теме отсутствует, тема оставлена не закрытой, сообщений в теме давно не было). На реплики форумчан реакции со стороны ТС нет. Тема стародавняя (последнее сообщение в топике: 30/04/2019; последнее сообщение от ТС в топике: 09/04/2019). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 22 Февраля 2020, 06:36:13 от zg_nico »

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
(Нажмите, чтобы показать/скрыть)
По Вашему вопросу:
Что для этого нужно сделать?
Например, цикл зарядить. Перебирать в качестве счетчика цикла i эти самые А, Б, ... Я (можно передать весь перечень через find, к примеру, можно руками прописать - вариантов десятки). В теле цикла, всякий раз вычисляя имя выходной папки путем конкатенации "ПДФ-$i", и проверяя ее наличие (если не существует - создавать) - выполнять требуемые операции (печать, или что Вам там надо).
Ну и ранее Вы в другой теме спрашивали:
Цитировать
По-дефолту он через cups-pdf печатает все в рабочий каталог, в папку ~\PDF. А как можно настроить, чтобы печатались файлы в разные папки?
Во-первых, не в ~\PDF, а в ~/PDF, раз уж на то пошло. \ - это экранирование, а не разделитель имен каталогов. Во-вторых, даже никогда отродясь не пользуя CUPS-PDF, беглым гуглингом можно найти очень простое объяснение описанному Вами явлению:
Цитировать
По умолчанию файл сохраняется в домашний каталог пользователя ~/PDF. Для указания иного пути необходимо отредактировать файл /etc/cups/cups-pdf.conf
В данном файле есть строка:Out ${HOME}/PDFПропишете там что-то иное - будет печатать в другое место.
В рассматриваемом случае, если уж решили реализовывать печать документов в pdf именно таким способом, у Вас как минимум два варианта: печатать файл в целевой каталог ~/PDF, и затем перемещать его командой mv в требуемый каталог, либо всякий раз перед печатью править /etc/cups/cups-pdf.conf (что не есть хорошо, т.к. требует как минимум разрешения заминки с правами доступа к этому файлу).
Я бы и вовсе задумался об использовании иного варианта. Тот же convert к примеру, из пакета imagemagick, позволяет преобразовать в pdf электронные документы, и поддерживает при этом указание в качестве параметра имени выходного файла. Еще есть такая штука как unoconv, - тоже не следует оставлять без внимания, да и у самого пакета loffice опцию --convert-to пока не отменили:libreoffice --convert-to pdf --outdir "/папка/где/сохранить" "/полный путь к файлу/имя_файла.docx" Зацикливаться на только одной печати через cups в данном случае, как мне кажется, нет особой необходимости.
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 30 Апреля 2019, 11:08:25 от zg_nico »
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

 

Страница сгенерирована за 0.046 секунд. Запросов: 24.