Nous avons lutté avec un problème similaire. Nous avions besoin d'imprimer des chèques à un contrôle de l'imprimante, des étiquettes à une imprimante d'étiquettes, et les factures des clients pour une facture de l'imprimante pour la vente au détail embrasse-moi. Nous avons mannequin ordinateurs, les recoins, les ipads, les iphones avec aucun des capacités d'impression. L'impression d'une facture fonction était essentiellement un silencieux d'impression. Un pdf a été écrit pour le serveur, et un script shell est utilisé localement pour les récupérer et de les imprimer.
Nous avons utilisé les méthodes suivantes pour une solution parfaite avec un minimum de bibliothèques:
utilisation TCPDF en PHP pour créer des PDF. Stocker le fichier PDF sur le serveur. Le mettre dans une "File d'attente d'Impression' Dossier. Bravo pour TCPDF, un peu difficile à apprendre, mais MALADE MALADE MALADE. Notez que nous avons l'impression de 80 étiquettes par page à l'aide d'avery 5167 avec un code à barres avec une parfaite précision. Nous avons une des étiquettes, vérifiez, et la facture d'impression de la file d'attente. Les différents dossiers de coeur pour différentes imprimantes.
Utiliser le script shell pour se connecter au serveur via FTP, téléchargez le fichier PDF, supprimer le fichier PDF sur le serveur, envoyer le fichier PDF à l'imprimeur, et de nouveau, supprimer le fichier PDF.
À l'aide d'un ordinateur local connecté à l'imprimante, exécutez le script dans le terminal. bien évidemment modifier vos imprimantes et les chemins d'accès.
Parce que vous voulez toujours de cette course, et parce que vous utilisez un MAC, créer une application à l'aide d'automator. Commencer à automator, placez le script dans un "run script shell" et enregistrez. Puis coller cette application dans un élément d'ouverture de session. Voir le script ci-dessous le script shell si vous voulez voir la "production" de la fenêtre sur le MAC.
BAM - travaux de malades.
Voici le script shell
#!/bin/bash
# Get a remote directory Folder
# List the contents every second
# Copy the files to a local folder
# delete the file from server
# send the file to a printer
# delete the file
# compliments of embrasse-moi.com
clear # clear terminal window
echo "##########################################"
echo "Embrasse-Moi's Remote Print Queue Script"
echo "##########################################"
#Local Print Queue Directory
COPY_TO_DIRECTORY=/volumes/DATA/test/
echo "Local Directory: $COPY_TO_DIRECTORY"
#Priter
PRINTER='Brother_MFC_7820N'
echo "Printer Name: $PRINTER"
#FTP Info
USER="user"
PASS="pass"
HOST="ftp.yourserver.com"
#remote path
COPY_REMOTE_DIRECTORY_FILES=/path
echo "Remote Print Queue Directory: $HOST$COPY_REMOTE_DIRECTORY_FILES"
echo 'Entering Repeating Loop'
while true; do
#make the copy to directory if not exist
echo "Making Directory If it Does Not Exist"
mkdir -p $COPY_TO_DIRECTORY
cd $COPY_TO_DIRECTORY
######################### WGET ATTEMPTS ############################################
#NOTE wget will need to be installed
echo "NOT Using wget to retrieve remote files..."
# wget --tries=45 -o log --ftp-user=$USER --ftp-password=$PASS ftp://ftp.yourserver.com$COPY_REMOTE_DIRECTORY_FILES/*.pdf
######################### FTP ATTEMPTS ############################################
echo "NOT Using ftp to retrieve and delete remote files..."
#This seems to fail at mget, plus not sure how to delete file or loop through files
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASS
cd $COPY_REMOTE_DIRECTORY_FILES
ls
prompt
mget *
mdel *
END_SCRIPT
echo "Examining Files in $COPY_TO_DIRECTORY"
for f in $COPY_TO_DIRECTORY/*.pdf
do
# take action on each file. $f store current file name
#print
echo "Printing File: $f To: $PRINTER"
lpr -P $PRINTER $f
# This will remove the file.....
echo "Deleting File: $f"
rm "$f"
done
echo "Script Complete... now repeat until killed..."
sleep 5
done
et le script automator si vous voulez voir le résultat, garder l'application avec le script
choisissez une course d'apple option du script:
on run {input, parameters}
tell application "Finder" to get folder of (path to me) as Unicode text
set workingDir to POSIX path of result
tell application "Terminal"
do script "sh " & "'" & workingDir & "script1.sh" & "'"
end tell
return input
end run