TheJoe.it Dans le (ouvrir) Source

31May/130

Imprimer sans chauffeur, avec de téléchargement de fichiers sur des serveurs Linux

Attention!

Cet article a été rédigé dans le 2013, il peut y avoir eu certains développements en la matière.
En cas de doute s'il vous plaît laissez un commentaire en bas de l'article.
Merci.

canon-pixma-MP495

Dans l'article d'aujourd'hui je m'occupe de l'impression. Après avoir comparé les différentes exigences des clients, Je suis venu à théoriser l'idée que l'utilisateur (utonto) devrait avoir pour que tout soit prêt. Moins logiciel ou pilote seront installés, sera plus heureux et moins tedierà ceux qui n'ont rien d'autre à faire.

L'éclairage est venu me tamisage entre les paramètres de l'imprimante que nous avons dans le bureau. Dans l'un des menus, je vois que vous pouvez télécharger le fichier PDF à imprimer de la mémoire interne de l'imprimante pour imprimer automatiquement. Aucun pilote (l'imprimante est le réseau), rien formatage spécial, Envoyer seulement. J'ai donc pensé qu'il ne serait pas difficile de faire la même chose avec une imprimante connectée via un port série ou USB d'un ordinateur, ne pas partager (servir pilotes). En fait, il était facile.

Pour l'expérience avec au moins deux ordinateurs, connecté sur le réseau local, dont l'un est connecté et configuré de manière à imprimer localement (que nous appellerons serveur). Nous vous ferons parvenir le fichier PDF sur le serveur via une interface web, parce qu'il est plus intuitif et familier premier. Par conséquent, l'ordinateur connecté à l'imprimante devra faire en serveur d'impression et serveur Web.

Quelques mots sur CUPS ...

Faites-le pour acquis que vous utilisez un serveur Linux en vue. Pour ceux qui ne savent toujours pas CUPS Faites une visite guidée Wikipedia Su ou le site officiel du projet de CUPS (Système Common Unix Printing System). Qu'il suffise de dire que tous les travaux d'impression dans Linux (que je connais) sont gérés par CUPS, un serveur d'impression installé sur votre PC. Tout le monde. Pour les non initiés, avec CUPS, imprimantes et des travaux d'impression sont facilement administrés via une interface web. Il suffit de brancher dans la barre d'url "http://localhost:631". De cette page, nous pouvons gérer les imprimantes, travaux d'impression, installer ou supprimer une imprimante, pratiquement tout ce que nous voulons faire de l'imprimante nous pouvons le faire aussi bien que les outils spécialement développés pour chaque distribution, également à partir de l'interface Web. Cela le rend beaucoup plus facile à configurer, par exemple, un serveur d'impression. Et c'est précisément notre cas.

La fenêtre d'administration de l'imprimante

CUPS: l'administration de l'imprimante de la fenêtre

En ce qui concerne l'installation de CUPS nous nous référons à l' guida di Ubuntu, est encore la seule façon d'imprimer avec Linux, alors chacun aura distribution de CUPS dans son référentiel. Il est habituellement inclus par défaut dans la distribution.

Maintenant pour le serveur web, nous allons utiliser Apache avec le support de PHP. Même dans ce cas la direction d'Ubuntu est très détaillé, et prend en compte le plus grand nombre de scénarios et problèmes qu'un utilisateur peut rencontrer lors de l'installation Apache. L'installation de PHP au lieu j'explique que je.

Vous devez installer PHP5 et un package qui permet à PHP de communiquer avec Apache. Depuis le terminal:

sudo apt-get install php5 libapache2-mod-php5

Apache doit alors être redémarré pour vous "remarquer" qui a maintenant un support pour PHP. Toujours terminale:

sudo / etc/init.d/apache2 restart

Entrez le mot de passe et confirmer. Maintenant, nous testons si les choses vont vraiment dans la bonne direction. Nous créons le fichier "/var/www/phpinfo.php" à l'intérieur duquel insérez le code suivant:

<? phpinfo(); ?>

Ouvrez un navigateur et d'écrire dans la barre d'url "http://localhost/phpinfo.php". Vous devriez voir une page semblable à la suivante.

Fonctionner PHP

Fonctionner PHP

Eh bien, maintenant nous avons aussi une bande courante. Nous devons créer un script qui permet le téléchargement des PDF sur un serveur. Tout d'abord, créer le formulaire HTML:

<html>
<corps>

<former action ="upload_file.php" method ="poster"
enctype="form-data multipart /">
<étiquette pour ="fichier">Nom du fichier:</étiquette>
<input type ="fichier" name ="fichier" id ="fichier">
<input type ="soumettre" name ="soumettre" value ="Téléchargez!">
</forme>

</corps>
</html>

forme

La forme appelle le fichier "upload_file.php", dont la teneur est la suivante:

<?php
("pdf");
$extension = fin(exploser(".", $_FILES["fichier"]["Nom"]));
si ((($_FILES["fichier"]["catégorie"] == "application / pdf"))
&& ($_FILES["fichier"]["taille"] < 2000000)
&& in_array($prolongement, $allowedExts))
  {
  si ($_FILES["fichier"]["erreur"] > 0)
    {
    echo "Code de retour: " . $_FILES["fichier"]["erreur"] . "<br>";
    }
  autre
    {
    echo "Téléchargez: " . $_FILES["fichier"]["Nom"] . "<br>";
    echo "Catégorie: " . $_FILES["fichier"]["catégorie"] . "<br>";
    echo "Taille: " . ($_FILES["fichier"]["taille"] / 1024) . " kB<br>";
    echo "fichier temporaire: " . $_FILES["fichier"]["tmp_name"] . "<br>";

    si (file_exists("upload /" . $_FILES["fichier"]["Nom"]))
      {
      echo $ _FILES["fichier"]["Nom"] . " existe déjà. ";
      }
    autre
      {
      move_uploaded_file($_FILES["fichier"]["tmp_name"],
      "upload /" . $_FILES["fichier"]["Nom"]);
      echo "Stockée dans: " . "upload /" . $_FILES["fichier"]["Nom"];
      }
    }
  }
autre
  {
  echo "Fichier non valide";
  }
?>

La cinquième ligne aura remarqué que j'ai mis une limite supérieure à la taille du PDF. Cela peut aussi être retiré en toute sécurité, et modifié le fichier "php.ini" alors laissez le charger encore plus lourd PDF. N'oubliez pas que tout se passe au niveau local au sein d'un réseau local. Nous créons également le répertoire "télécharger", où fichier sera téléchargé.

Si le téléchargement est réussi, le fichier script va nous montrer ce qui est chargé, le type de fichier, la taille et où il est enregistré sur le serveur, sinon, elle retourne "Fichier non valide".

script_ok

Maintenant que le premier fichier est téléchargé, nous veillerons à ce que tout le contenu du répertoire "télécharger" imprimer, puis déplacé vers un répertoire de sauvegarde sera vidé quotidien (nous ne voulons pas encombrer le serveur de fichiers, vrai?). Je vais appeler le répertoire de sauvegarde "dépôt", positionné à l'intérieur du répertoire racine. Pour tout ce que nous allons utiliser la boîte automatique Cron.

Nous ajoutons les lignes suivantes à la fin du fichier crontab ("crontab-e").

# serveur d'impression
* * * * * LPR / var / www / uploads / upload / * | dormir 30; mv / var / www / téléchargeur / uploads / * / var / www / téléchargeur / dépôts /
0 4 * * * rm-rf / var / www / téléchargeur / dépôt / *

La première commande crontab chaque minute vérifie l'annuaire "télécharger", imprimer tous les fichiers à l'intérieur et se déplacer tout le contenu dans le répertoire "dépôt". La seconde supprime tous les fichiers dans le répertoire "dépôt" Tous 4 chaque nuit.

Content de cet article?

Inscrivez vous à notre fil rss!

Sur

Je garde ce blog comme un hobby par 2009. Je suis passionné de graphisme, la technologie, logiciel Open Source. Parmi mes articles ne sera pas difficile de trouver de la musique, et quelques réflexions personnelles, mais je préfère la ligne directe du blog principalement à la technologie. Pour plus d'informations me contacter.