Программная печать нескольких копий из командной строки - PullRequest
2 голосов
/ 12 августа 2010

Мое приложение генерирует от 35 до 55 файлов PDF, из которых мне нужно автоматически напечатать четыре копии.

Все эти файлы находятся в одной папке.

Мое требование - использовать пакетфайл для печати четырех копий каждого файла.

У меня установлен Adobe Acrobat Reader.

Как мне это сделать?

Ответы [ 2 ]

4 голосов
/ 12 августа 2010

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

Просто вставьте соответствующие значения для отсутствующих аргументов.

0 голосов
/ 09 июля 2013

Вы можете использовать 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%

Пожалуйста, дайте мне знать о любой проблеме. Хорошего дня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...