imprimer automatiquement, avec de téléchargement de fichiers sur des serveurs Linux
Attention
Cet article a été publié il y a plus d'un an, il peut y avoir des développements été.
S'il vous plaît prendre en compte.
Dans l'article d'aujourd'hui, je m'occupe de la presse. 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, solo l'envoi. 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 intuitive et utilisateur familière avant. 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.

En ce qui concerne l'installation de CUPS nous nous référons à l' guida di Ubuntu, est encore le seul moyen d'imprimer avec Linux, alors chacun aura CUPS distribution 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 à la place je lui 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.

Eh bien, maintenant nous avons aussi une bande courante. Nous devons créer un script qui permet le téléchargement du fichier PDF sur le serveur. Tout d'abord, créer le formulaire 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>
Nous enregistrons le fichier dans “/var/www/html/uploader/
“. Nous pouvons lui donner le nom que nous voulons (c'est. “index.php
“).

La forme appelle le fichier “upload_file.php
“. Nous devrons créer le nouveau fichier et l'enregistrer dans le même répertoire qu'avant: “/var/www/html/uploader/
“. Le contenu est le suivant:
<?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";
}
?>
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 ce qui se passe localement dans un réseau local. Nous créons également le répertoire “upload
“, 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”.

Maintenant que le premier fichier est téléchargé, nous veillerons à ce que tout le contenu du répertoire “upload
” 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 “deposito
“, placé à 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 (de la borne: “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.
2 commentaires
David · 22 Novembre 2022 à 3:03 PM
Bonjour, excuse moi, Je suis la procédure mais je ne trouve pas les dossiers de téléchargement et de téléchargement dans lesquels les fichiers téléchargés depuis la page Web sont enregistrés. Vous pouvez également indiquer les dossiers à créer dans la procédure ? merci beaucoup.
David
TheJoe · 27 Novembre 2022 à 5:35 UN M
D'ACCORD, J'ai intégré l'article avec les ajouts que vous avez suggérés. Merci beaucoup!