автоматически печати, с загрузкой файлового сервера Linux
предосторожность
Эта статья была опубликована более чем год назад, там, возможно, были события.
Пожалуйста, примите это во внимание.
В сегодняшней статье я имею дело с прессой. После того, как он сравнил различные потребности клиентов, Я прибыл, чтобы теоретизировать идею, что пользователь (utonto) должны обязательно иметь все готово. будут установлены Less программы и драйверы, большинство из них будет счастливым и менее tedierà тех, у кого нет ничего другого,.
Освещение я пришел просеивание от настроек принтера, которые мы имеем в офисе. В одном из меню, я вижу, что вы можете загрузить PDF для печати на внутренней памяти принтера для автоматической печати его. не водитель ничего (принтер сети), ничего особенного форматирования, просто загрузить. Так я думал, что это не будет трудно сделать то же самое с принтером, подключенным через USB или последовательный порт к компьютеру, не разделяют его (служить водителей). И это было легко.
Для эксперимента сегодня нужно по крайней мере, два компьютера, подключен по локальной сети, один из которых подключен и настроен на печать локально (мы будем называть сервером). Мы будем пересылать PDF на сервер через веб-интерфейс, потому что более интуитивным и познакомит пользователя перед. Таким образом, компьютер, подключенный к принтеру придется быть принт-сервер и веб-сервер.
Несколько слов о CUPS…
Делайте это как само собой разумеющееся, что используется цель сервера Linux. Для тех, кто еще не знаком с CUPS вы ходить в Википедии или на официальном сайте проект CUPS (Общая система Unix Printing). Достаточно сказать, что все задания печати на Linux (мне известно) Они управляются CUPS, сервер печати установлен на ПК. все. Для непосвященных, мошенники CUPS, принтеры и задания печатей легко осуществляются через веб-интерфейс. Просто введите в строке URL-адрес “
http://localhost:631
“. С этой страницы вы можете управлять принтерами, задания на печать, установить или удалить принтер, в основном все, что вы хотите сделать принтер, мы можем сделать это, а также с инструментами, специально разработанными для каждого распределения, даже из веб-интерфейса. Это делает его гораздо проще, например, конфигурацию сервера печати. И это наше дело.
Что касается установки CUPS мы ссылаемся руководство Ubuntu, Это пока единственный способ печати с Linux, то любая воля распределения CUPS в пределах его хранилище. Это, как правило, по умолчанию включен в дистрибутив.
Теперь для веб-сервера, мы будем использовать Apache с поддержкой PHP. снова руководство Ubuntu Он очень подробно, и учитывает большее количество сценариев и проблем, с которыми пользователь может столкнуться при установке Apache. Установка PHP вместо этого я объяснить I.
Вы должны установить PHP5 и пакет, который позволяет PHP взаимодействовать с Apache. От терминала:
sudo apt-get install php5 libapache2-mod-php5
Apache будет тогда быть перезапущен для вас “уведомления” который теперь поддерживает PHP. Кроме того, из терминала:
sudo /etc/init.d/apache2 restart
Вставьте пароль и подтвердите. Теперь мы проверяем, если действительно все пошло в правильном направлении. Мы создаем файл “/var/www/phpinfo.php
” внутри которого мы вставляем следующий код:
<? phpinfo(); ?>
Откройте браузер и написать в строке URL-адрес “http://localhost/phpinfo.php
“. Он должен быть похож на следующую страницу.
хорошо, Теперь у нас есть работающий веб. Мы должны создать скрипт, который позволяет загружать в формате PDF на сервер. Во-первых, мы создаем форму в HTML:
<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file">
<input type="submit" name="submit" value="Upload!">
</form>
</body>
</html>
Давайте сохраним файл в “/var/www/html/uploader/
“. Мы можем дать ему любое имя, какое захотим. (это. “index.php
“).
Форма напоминает файл “upload_file.php
“. Нам нужно будет создать новый файл и сохранить его в том же каталоге, что и раньше.: “/var/www/html/uploader/
“. Содержание следующее:
<?php
$allowedExts = array("pdf");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "application/pdf"))
&& ($_FILES["file"]["size"] < 2000000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>
Пятая строка вы, возможно, заметили, что я установил максимальный предел для размера PDF. Это также может быть безопасно удалены, и отредактировать файл “php.ini
” так пусть и загрузить тяжелый PDF. Не забывайте, что все происходит локально в пределах локальной сети. Кроме того, мы создаем каталог “upload
“, где файл будет загружен.
Если загрузка прошла успешно, файл сценария покажет нам, что загружается, тип файла, размер и где он сохраняется на сервере, в противном случае она возвращает “файл поврежден”.
Теперь, когда первый файл был загружен мы удостоверимся, что все содержимое каталога “upload
” печататься, а затем переехал в резервный каталог будет очищен ежедневно (мы не хотим, чтобы засорять файловый сервер, Веро?). Я позвоню резервный каталог “deposito
“, расположенный в корневом каталоге. Все, что мы будем использовать автоматические Cron.
Добавим следующие строки в нижней части файла кронтаб (терминал: “crontab -e
“).
# сервер печати * * * * * LPR / вар / WWW / добавления / загрузки / * | спать 30; мв / вар / WWW / добавления / загрузки / * / вар / WWW / добавления / Deposito / 0 4 * * * гт -rf / вар / WWW / добавления / Deposito / *
Первая команда кронтаба проверяет также каталог каждую минуту “загружать”, печатать каждый файл в нем и переместить все содержимое в каталоге “депозит”. Второй удаляет все файлы в каталоге “депозит” все 4 ночью.
2 Комментарии
Davide · 22 ноябрь 2022 в 3:03 ВЕЧЕРА
Чао, Прошу прощения, Я выполняю процедуру, но не могу найти папку для загрузки и загрузки, в которой сохраняются файлы, загруженные с веб-страницы.. Вы также можете указать папки, которые необходимо создать в процедуре. ? Большое спасибо.
Davide
TheJoe · 27 ноябрь 2022 в 5:35 AM
ХОРОШО, Я интегрировал статью с предложенными вами дополнениями.. Большое спасибо!