Программно печатать несколько копий из командной строки
Мое приложение генерирует от 35 до 55 файлов PDF, из которых мне нужно автоматически распечатать четыре копии.
Все эти файлы находятся в одной папке.
Мое требование - использовать пакетный файл для печати четырех копий каждого файла.
У меня установлен Adobe Acrobat Reader.
Как мне это сделать?
3 ответа
Adobe Reader способен печатать только одну копию напрямую. Однако ничто не мешает вам зацикливаться и печатать его 4 раза. Однако это может занять больше времени, поскольку документ должен быть отправлен на принтер четыре раза.
Из часто задаваемых вопросов разработчика Acrobat SDK:
AcroRd32.exe /t path "printername" "drivername" "portname"
- Запустите Adobe Reader и распечатайте файл, не открывая диалоговое окно "Печать". Путь должен быть полностью указан.Четыре параметра
/t
вариант оценитьpath
,printername
,drivername
, а такжеportname
(все строки).
printername
- Название вашего принтера.drivername
- Имя вашего драйвера принтера, как оно отображается в свойствах вашего принтера.portname
- порт принтера.portname
не может содержать символы "/"; если это так, вывод перенаправляется на порт по умолчанию для этого принтера.
Так что вы можете использовать что-то вроде этого:
for %%F in (*.pdf) do (
for /L %%i in (1,1,4) do (
AcroRd32.exe /t "%%~fF" "printername" "drivername" "portname"
)
)
Просто вставьте соответствующие значения для отсутствующих аргументов.
Вы можете использовать pdfprint.exe (сторонняя утилита) для достижения этой цели. Мы используем то же самое для печати множества файлов PDF, созданных в указанном месте. Вы можете записать пакетный файл, который принимает параметры, такие как имя принтера, количество копий, файл PDF FULL PATH, имя файла журнала для чтения статуса и ориентацию L-альбомную или портретную ориентацию и вызов пакетного файла из некоторого приложения, такого как.net.
У нас есть пакетный файл, написанный как ниже:
@echo off
:. %1 - Printer Name
:. %2 - Number of Copies
:. %3 - PDF File path to print
:. %4 - Name of Log file
:. %5 - Orientation of pdf printing file 1 = Portratit and 2 = Landscape
:. Add -restoreprinter -checkjobstatus which will maintain the default printer settings.
set PdfPrintPath=some valid path (C:\Folder) where pdfprint.exe is placed
%PdfPrintPath%\pdfprint.exe -restoreprinter -printer %1 -copies %2 -orient %5 %3
set ErrLevel=%errorlevel%
Пожалуйста, дайте мне знать по любой проблеме. Хорошего дня.
Большинство командных строк (Acrobat, Foxit и т. д.) поддерживают только 1 копию, если вы не используете цикл. Другие примеры на этой странице (по крайней мере сейчас) оплачены. После долгих поисков лучшее, что я нашел бесплатным (некоммерческое использование), — это PDF Studio от Bullzip:
"pathto\PdfStudio.exe" "MyPDF.pdf" /copies 3 /printer "My Printer"