Редактировать: Кажется, мой друг может установить IrfanView, если это поможет.
Я помогаю другу автоматизировать задачу печати каждого файла изображения в папке в несколько PDF-файлов: каждое изображение отправляется в отдельный PDF-файл на компьютере с Windows 10. Мой друг работает в корпоративной среде со строгими правилами относительно установки, и поэтому существует множество вещей, которые нельзя установить, например
- не в виртуальной машине
- пока что я знаю, что он не может установить imagemagick, 2pdf, foxit
- У него ЕСТЬ Acrobat Reader и PDF-XChange Pro, хотя не уверен, что они помогут, я пока не нашел ничего полезного в этом программном обеспечении.
- некоторые из файлов изображений для печати находятся в этих специальных файлах tiff, в которых одно изображение имеет несколько "страниц" изображений, я думаю, это называется mtif или multifif? Когда скрипт печатает их, он создает только PDF с первой "страницей". Желаемым результатом был бы один многостраничный файл PDF.
- чем больше скрипт работает «в фоновом режиме», тем лучше.
То, что я сделал до сих пор, это очень простой пакетный скрипт, который использует преимущества виртуального принтера "Microsoft Print to PDF" и командной строки mspaint. Если бы я мог как-то активировать принтер "Microsoft Print to PDF" через другую команду, помимо mspaint, возможно, я бы смог по крайней мере решить проблему с печатью multitif в один PDF со всеми "страницами" внутри. Я говорю это, потому что если я печатаю mtif с помощью графического интерфейса mspaint, я повторяю ту же проблему. (mtif создает PDF с одной страницей").
ОБНОВЛЕНИЕ: Это также может быть просто совпадением, и проблема каким-то образом связана с пакетной операцией. /print="Microsoft Print to PDF" из IrfanView дает тот же нежелательный результат одностраничного PDF только с первым изображением указанного multitiff в качестве вывода указанной команды.
Это пакетный скрипт, который я сделал на данный момент
@echo off
echo This script will print all the images in this foldes
echo so long as they are openable with mspaint
echo and print in a new, unique folder inside %~dp0
for %%i in (*.jpg) do (
mspaint /pt %%i "Microsoft Print to PDF"
)
for %%i in (*.jpeg) do (
mspaint /pt %%i "Microsoft Print to PDF"
)
for %%i in (*.png) do (
mspaint /pt %%i "Microsoft Print to PDF"
)
for %%i in (*.tif) do (
mspaint /pt %%i "Microsoft Print to PDF"
)
Мой друг уже поблагодарил меня за скрипт, так как, хотя скрипт запрашивает имя и место назначения каждого файла pdf, он все равно экономит ему пару времени и кликов. Я хочу сделать лучше, и все еще есть эта проблема с файлами mtif.
У меня есть подготовленный код для создания папки
@echo off
mkdir Img2Pdf%date:~-4,4%"-"%date:~-7,2%"-"%date:~-10,2%" - "%time:~0,2%"h"%time:~3,2%"m"%time:~6,2%"s"
pause
И я думаю, что для меня не составит труда добавить копию / переместить полученный файл в папку или добавить имя к файлу. Но отсутствие вариантов печати, которые я нашел до сих пор, было довольно трудным начинанием. Какие у меня есть варианты? Я предполагаю, что никаких!
Спасибо, что уделили время прочтению этого вопроса. Если есть возможность как-то улучшить вопрос, дайте мне знать. Извините, если код/орфография могут вызвать у некоторых из вас содрогание, поскольку это не самый оптимизированный код или не самая правильная формулировка. Пожалуйста, будьте ко мне снисходительны и добры, если это возможно.
решение1
Процесс печати в файл PDF занимает больше времени и может быть медленным. Я предлагаю вам конвертировать файлы изображений в файлы PDF напрямую. Прямое преобразование выполняется очень быстро и без потери качества. Например, вы можете использовать программное обеспечение VeryPDF Image to PDF Converter для пакетного преобразования всех ваших файлов изображений в файлы PDF «на лету».