Impression de fichiers par lots

8

J'ai un utilisateur qui doit imprimer environ 220 documents en moyenne 2-3 pages chacun. Lorsqu'elle est imprimée à l'aide de la méthode Windows standard de Tout sélectionner - Clic droit - L'impression écrase le serveur d'impression ou l'imprimante elle-même. Je recherche un utilitaire qui me permettra de traiter disons 5 documents à la fois qui fera tous les documents d'un répertoire donné. J'espère que cela allégera la pression sur le serveur d'impression et permettra également à l'utilisateur de ne pas avoir à garder ses travaux d'impression. J'en ai trouvé un qui vous permet de planifier un travail d'impression pendant un certain temps, mais (et ce n'est peut-être pas une rupture), l'orthographe du programme est atroce.

chrispt
la source

Réponses:

4

Vous pouvez essayer le gestionnaire d'impression par lots de DarkStorm, c'est gratuit! :-)

Le gestionnaire d'impression par lots de DarkStorm est une application .Net qui permet d'imprimer des documents par lots. Le gestionnaire d'impression par lots de DarkStorm automatise Word / Excel et Adobe Reader pour faciliter le processus d'impression par lots, et prend également en charge certains formats d'image populaires.
Je n'ai cependant pas pu le tester

Alternativement:

Vous pouvez écrire un script simple qui prend les noms d'un fichier texte et les imprime à certains intervalles. Vous pouvez interroger le contenu du dossier d'impression pour obtenir les noms des documents, les placer dans un fichier texte, puis parcourir le fichier texte en attendant que tous les documents soient imprimés.

Le pseudo-code ressemblerait à ceci.

Populate Text File Function ()  
{  
  Set Folder Path  
  Get Document Names in folder  
  Write Document Names to Text File  
}  
Print Function  
{  
  While Not End of File{  
  Get Document Name  
  Print Document Name  
  Move down 1 line  
      Wait a timed interval  
 }  
}

Mon codage n'est plus ce qu'il était, alors j'ai peut-être manqué quelques bits mais je pense que c'est raisonnablement là. Je recommanderais Guys Scripting Enzine pour rechercher des exemples de code. Vous devriez pouvoir couper et coller la plupart du code dont vous avez besoin.

Joe Taylor
la source
wow - DarkStorm's batch print handlerc'est sympa.
Sathyajith Bhat
Téléchargement maintenant. Tous les scripts sont agréables, mais je préfère ne pas suivre cette voie. Je vais tester DarkStorm.
chrispt
Je pense que l'application DarkStorm sera bonne. La seule chose qui serait agréable s'ils ajoutaient la fonctionnalité est la possibilité de planifier l'exécution du lot à un certain moment afin que vous puissiez le faire démarrer automatiquement lorsque vous êtes parti pour la journée.
chrispt
3

Il s'agit d'un travail pour la ligne de commande.

Avec Cygwin , le script suivant (que vous pouvez taper sur une ligne de commande bash) imprimera chaque fichier PDF du répertoire courant, un toutes les 5 secondes.

for x in *.pdf; do cygstart -p -- "$x"; sleep 5; done

Si vous ne voulez pas installer Cygwin (qui est utile pour beaucoup d'autres choses), consultez la réponse de Sathya pour une méthode cmd (c'est un peu moins simple). L'outil de choix serait Powershell, qui a sûrement tous les blocs de construction requis (mais je ne parle pas Powershell).

Gilles 'SO- arrête d'être méchant'
la source
cmd has an equivalent of sleep-> le remplacement brut serait `ping localhost -n 6> NUL
Sathyajith Bhat
En outre, startlance une nouvelle application - elle n'a aucune capacité d'impression.
Sathyajith Bhat
@Sathya: Merci. Je ne suis pas surpris que cela cygstartait plus de capacités que de démarrer, mais je pensais qu'il y avait un moyen de déclencher une action d'impression à partir de cmd (l'action d'impression appelle l'application enregistrée dans le registre, lui disant d'imprimer plutôt que d'ouvrir pour modification). Savez-vous par hasard s'il existe un moyen d'imprimer en cmd ( printne semble pas l'être non plus)?
Gilles 'SO- arrête d'être méchant'
@Gilles - une façon consiste à copier les fichiers pdf sur l'imprimante, s'il est configuré en tant que partage (réseau) - copy *.pdf \\printer\name. Pour le traitement par lots, cmd a une forcommande, mais je ne sais pas comment lui faire exécuter plusieurs commandes
Sathyajith Bhat
@Sathya: Je pense quelque chose comme for %x in (*.pdf) do ( ; command1 ; command2 ; )avec les nouvelles lignes où j'ai écrit ;. Si vous pouvez le faire fonctionner, veuillez en faire une réponse.
Gilles 'SO- arrête d'être méchant'
2

Si vous voulez vraiment suivre la ligne de commande, copiez-collez-le dans un fichier de commandes, modifiez le chemin et ajoutez le chemin complet à AcroRd32.exe

cd\path\to\pdf\files
for %%f in ("*.pdf") do AcroRd32.exe /t %%f "\\servername\printername" & ping localhost -n 6 >NUL

Cela changera le répertoire en celui contenant les fichiers PDF, démarrera Acrobat Reader en mode silencieux, les imprimera et attendra 5 secondes. Une autre alternative si l'imprimante est partagée est

cd\path\to\pdf\files
for %%f in ("*.pdf") do copy %%f "\\servername\printername" & ping localhost -n 6 >NUL

Ce qui fait la même chose, mais dans mon expérience passée, je n'ai pas obtenu de bons résultats avec cette approche - mais c'est à cause des fichiers PDF n'ayant pas les polices incorporées.

Sathyajith Bhat
la source
0

Une excellente application d'impression par lots que j'utilise tout le temps est SilentPrint. Vous pouvez en savoir plus à ce sujet sur http://www.silentprint.com . J'espère que vous le trouverez aussi utile que moi.

Jimmi Kin
la source
1
Si vous êtes associé à ce produit, veuillez divulguer votre affiliation conformément à la FAQ , sinon vos messages pourraient être supprimés comme promotionnels
slhck