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.

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.


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).


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.


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.


1
Jeśli jesteś powiązany z tym produktem,
— ujawnij
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.