Drukowanie pliku wsadowego

8

Mam użytkownika, który musi wydrukować około 220 dokumentów o średniej wielkości 2-3 stron każdy. W przypadku drukowania przy użyciu standardowej metody Windows dla opcji Zaznacz wszystko - kliknij prawym przyciskiem myszy - polecenie Drukuj przytłacza serwer druku lub samą drukarkę. Szukam narzędzia, które pozwoli mi przetwarzać powiedzmy 5 dokumentów jednocześnie, które wykonają wszystkie dokumenty w danym katalogu. Mam nadzieję, że zmniejszy to obciążenie serwera wydruku i pozwoli użytkownikowi nie musieć opiekować się zadaniami drukowania. Znalazłem taki, który pozwala zaplanować zadanie drukowania na określony czas, ale (i być może nie jest to złamanie umowy) pisownia w programie jest okropna.

chrispt
źródło

Odpowiedzi:

4

Możesz wypróbować program do obsługi drukowania partii DarkStorm Jest bezpłatny! :-)

Program obsługi drukowania wsadowego DarkStorm to aplikacja .Net, która będzie grupowo drukować dokumenty. Program obsługi drukowania wsadowego DarkStorm automatyzuje Word / Excel i Adobe Reader, aby pomóc w procesie drukowania wsadowego, a także zapewnia obsługę niektórych popularnych formatów obrazów.
Nie byłem jednak w stanie tego przetestować

Alternatywnie:

Możesz napisać prosty skrypt, który pobiera nazwy z pliku tekstowego i drukuje je w określonych odstępach czasu. Możesz zapytać o zawartość folderu wydruku, aby uzyskać nazwy dokumentów, umieścić je w pliku tekstowym, a następnie przejść przez plik tekstowy, czekając pomiędzy nimi, aż wszystkie dokumenty zostaną wydrukowane.

Pseudo Code wyglądałby mniej więcej tak.

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  
 }  
}

Moje kodowanie nie jest już takie, jak kiedyś, więc mogłem przeoczyć kilka bitów, ale myślę, że ma to sens. Polecam Guys Scripting Enzine, aby przeszukał próbki kodu. Powinieneś być w stanie wyciąć i wkleić większość potrzebnego kodu.

Joe Taylor
źródło
wow - DarkStorm's batch print handlerjest fajny.
Sathyajith Bhat
Pobieranie teraz. Całe skryptowanie jest fajne, ale wolałbym nie iść tą drogą. Idę przetestować DarkStorm.
Chris
Myślę, że aplikacja DarkStorm będzie dobra. Jedyną rzeczą, która byłaby słodka, gdyby dodali tę funkcjonalność, jest możliwość zaplanowania uruchomienia partii o określonej godzinie, aby można było ją automatycznie rozpocząć, gdy nie ma cię na dzień.
Chris
3

To jest zadanie dla wiersza poleceń.

W Cygwin poniższy skrypt (który można wpisać w linii poleceń bash) wydrukuje każdy plik PDF w bieżącym katalogu, jeden co 5 sekund.

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

Jeśli nie chcesz instalować Cygwina (co jest przydatne do wielu innych rzeczy), zapoznaj się z odpowiedzią Sathya na cmd (jest to nieco mniej proste). Narzędziem wyboru będzie Powershell, który z pewnością ma wszystkie wymagane elementy składowe (ale nie mówię Powershell).

Gilles
źródło
cmd has an equivalent of sleep-> surowe zastąpienie to `ping localhost -n 6> NUL
Sathyajith Bhat
Ponadto, startwprowadza na rynek nową aplikację - nie ma żadnych możliwości drukowania.
Sathyajith Bhat
@Sathya: Dzięki. Nie dziwię się, że cygstartma więcej możliwości niż start, ale pomyślałem, że istnieje sposób, aby uruchomić akcję drukowania z cmd (akcja drukowania wywołuje aplikację zarejestrowaną w rejestrze, mówiącą o drukowaniu zamiast otwierania do edycji). Czy zdarza ci się wiedzieć, czy istnieje sposób drukowania w cmd ( printchyba nie jest to również)?
Gilles
@Gilles - jednym ze sposobów jest skopiowanie plików pdf do drukarki, jeśli jest skonfigurowany jako udział (sieciowy) - copy *.pdf \\printer\name. Do przetwarzania wsadowego cmd ma forpolecenie, ale utknąłem przy tym, jak wykonać wiele poleceń
Sathyajith Bhat
@Sathya: Myślę, że coś for %x in (*.pdf) do ( ; command1 ; command2 ; )z nowymi liniami, w których pisałem ;. Jeśli możesz sprawić, by działało, proszę odpowiedz.
Gilles
2

Jeśli naprawdę chcesz przejść do wiersza poleceń, skopiuj wklej to do pliku wsadowego, zmień ścieżkę i dodaj pełną ścieżkę do AcroRd32.exe

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

Spowoduje to zmianę katalogu na katalog zawierający pliki PDF, uruchomienie programu Acrobat Reader w trybie cichym, wydrukowanie ich i poczekanie 5 sekund. Inną alternatywą, jeśli drukarka jest współużytkowana, jest

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

Co robi to samo, ale z mojego dotychczasowego doświadczenia nie osiągnąłem dobrych rezultatów przy takim podejściu - ale dzieje się tak dlatego, że pliki PDF nie mają osadzonych czcionek.

Sathyajith Bhat
źródło
0

Świetną aplikacją do drukowania wsadowego, z której cały czas korzystam, jest SilentPrint. Więcej informacji na ten temat można znaleźć na stronie http://www.silentprint.com . Mam nadzieję, że okaże się tak przydatny jak ja.

Jimmi Kin
źródło
1
Jeśli jesteś powiązany z tym produktem,
ujawnij