Программно печатать несколько копий из командной строки

Мое приложение генерирует от 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" 
Другие вопросы по тегам