Cookie

предосторожность


Эта статья была опубликована более чем год назад, там, возможно, были события.
Пожалуйста, примите это во внимание.

В сегодняшней статье я имею дело с прессой. После того, как он сравнил различные потребности клиентов, Я прибыл, чтобы теоретизировать идею, что пользователь (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-получить установку php5 libapache2-мод-php5

Apache будет тогда быть перезапущен для вас “уведомления” который теперь поддерживает PHP. Кроме того, из терминала:

SUDO /etc/init.d/apache2 перезагрузка

Вставьте пароль и подтвердите. Теперь мы проверяем, если действительно все пошло в правильном направлении. Мы создаем файл “/var/www/phpinfo.php” внутри которого мы вставляем следующий код:

<? phpinfo(); ?>

Откройте браузер и написать в строке URL-адрес “http://localhost/phpinfo.php“. Он должен быть похож на следующую страницу.

PHP и работает

PHP и работает

хорошо, Теперь у нас есть работающий веб. Мы должны создать скрипт, который позволяет загружать в формате PDF на сервер. Во-первых, мы создаем форму в HTML:

<HTML>
<тело>

<Форма действие ="upload_file.php" метод ="сообщение"
ENCTYPE ="многочастному / форм-данных,">
<метка для ="файл">Имя файла:</этикетка>
<тип входного ="файл" имя ="файл" ID ="файл">
<тип входного ="Отправить" имя ="Отправить" значение ="Загрузить!">
</форма>

</тело>
</HTML>

форма

Форма напоминает файл “upload_file.php”, содержание которого состоит в следующем:

<?php
$allowedExts = array("PDF");
$расширение = конец(взрываться(".", $_FILES["файл"]["название"]));
если ((($_FILES["файл"]["тип"] == "применение / PDF"))
&& ($_FILES["файл"]["размер"] < 2000000)
&& in_array($расширение, $allowedExts))
  {
  если ($_FILES["файл"]["ошибка"] > 0)
    {
    эхо "Код возврата: " . $_FILES["файл"]["ошибка"] . "<уш>";
    }
  еще
    {
    эхо "Загрузить: " . $_FILES["файл"]["название"] . "<уш>";
    эхо "Тип: " . $_FILES["файл"]["тип"] . "<уш>";
    эхо "Размер: " . ($_FILES["файл"]["размер"] / 1024) . " кБ<уш>";
    эхо "файл Temp: " . $_FILES["файл"]["tmp_name"] . "<уш>";

    если (Файл существует("загрузить /" . $_FILES["файл"]["название"]))
      {
      Эхо $ _FILES["файл"]["название"] . " уже существует. ";
      }
    еще
      {
      move_uploaded_file($_FILES["файл"]["tmp_name"],
      "загрузить /" . $_FILES["файл"]["название"]);
      эхо "Хранится в: " . "загрузить /" . $_FILES["файл"]["название"];
      }
    }
  }
еще
  {
  эхо "файл поврежден";
  }
?>

Пятая строка вы, возможно, заметили, что я установил максимальный предел для размера PDF. Это также может быть безопасно удалены, и отредактировать файл “php.ini” так пусть и загрузить тяжелый PDF. Не забывайте, что все происходит локально в пределах локальной сети. Кроме того, мы создаем каталог “загружать”, где файл будет загружен.

Если загрузка прошла успешно, файл сценария покажет нам, что загружается, тип файла, размер и где он сохраняется на сервере, в противном случае она возвращает “файл поврежден”.

script_ok

Теперь, когда первый файл был загружен мы удостоверимся, что все содержимое каталога “загружать” печататься, а затем переехал в резервный каталог будет очищен ежедневно (мы не хотим, чтобы засорять файловый сервер, Веро?). Я позвоню резервный каталог “депозит”, расположенный в корневом каталоге. Все, что мы будем использовать автоматические Cron.

Добавим следующие строки в нижней части файла кронтаб (“кронтаб -e”).

# сервер печати
* * * * * LPR / вар / WWW / добавления / загрузки / * | спать 30; мв / вар / WWW / добавления / загрузки / * / вар / WWW / добавления / Deposito /
0 4 * * * гт -rf / вар / WWW / добавления / Deposito / *

Первая команда кронтаба проверяет также каталог каждую минуту “загружать”, печатать каждый файл в нем и переместить все содержимое в каталоге “депозит”. Второй удаляет все файлы в каталоге “депозит” все 4 ночью.

Это не достаточно?


TheJoe

Я держу это в качестве хобби блог от 2009. Я графики энтузиастов, технология, Программное обеспечение с открытым исходным кодом. Среди моих статей не будет трудно найти о музыке, и некоторые личные размышления, но я предпочитаю, чтобы направить линию блога в основном технологии. Для получения дополнительной информации связаться со мной.

оставьте ответ

Ваш электронный адрес не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатывается комментарий данных.