Создание PDF файлов из группы файлов (JPG)

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Создание PDF файлов из группы файлов (JPG)

Сообщение berya »

Доброго времени суток.
Подскажите пожалуйста, если возможность написания скрипта для создания PDF файла из файлов находящихся в папке (в основном JPG)
Заранее спасибо.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Деньги готовим. :mrgreen:

Увы, только шаровары:
Кнопка для Image to PDF Command Line Tool.

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\Image2PDF\Image2PDF.exe
-ImageList %L -Output %TFileName.pdf -FitImageToPageSize -PageSize "A5+Portrait" -OpenPDF
imageres.dll,159
Создать PDF-файл и поместить в него изображения выделенных файлов
Функций полно, только не все работают в демо-версии.

Для Image2PDF Command Line:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\Image2PDF\img2pdf.exe
-p 1 -b -1 -r 40 -o %TFileName.pdf %P%S
imageres.dll,159
Создать PDF-файл и поместить в него изображения выделенных файлов
Для 3-Heights™ Image to PDF Converter Shell:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\Image2PDF\img2pdf.exe
-c -sp 612 792 -f -d 300 -fi 3 %P%S %TFileName.pdf
Utils\Image2PDF\img2pdf.exe
Создать PDF-файл и поместить в него изображения выделенных файлов

1
Во всех случаях опции, естественно, выставляются по усмотрению.

Бесплатные
Pdftk, но там, как я понял, она вытаскивает картинки из других pdf, как и триальная CoherentPDF.
Add Image Tool в составе PDFedit-Tools - слишком простой набор, у меня не заработала.

Из неконсольных есть:
J2PDF (самый оптимальный вариант)
PDFForge Images2PDF
PDFill PDF Tools
AnyPic JPG to PDF Converter (Триал)
Softinterface® Convert Image to PDF (Триал)

COM-объекты типа таких (1, 2, 3, 4) цеплять не очень хочется.

Ну а такого бесплатного хлама в сети полно.
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

Спасибо, будем искать варианты
Аватара пользователя
Моторокер
Сообщения: 1517
Зарегистрирован: Пт май 06, 2005 08:22
Откуда: г. Пермь (читается Перьмь)
Контактная информация:

Сообщение Моторокер »

Irfan точно умеет в отдельные файлы конвертировать, наверняка в справке можно найти и мульти PDF вариант. Возможно, другие смотрелки тоже поддерживают такую конвертацию.

Добавлено спустя 31 минуту:

berya ответил в личку:
IrfanView умеет, но не много страничные, по справке: делайте в многостраничный TIFF с последующей конвертацией в многостраничный PDF.
Сейчас разбираюсь с http://www.compulsivecode.com/jpegtopdf.html, вроде получается, но есть вопросы по именованию файла.

Выложить в общий пост не могу - новичков не пускают - если у Вас есть возможность - выложите ссылку.
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

IrfanView умеет, но не много страничные, по справке: делайте в многостраничный TIFF с последующей конвертацией в многостраничный PDF.
Сейчас разбираюсь с compulsivecode.com/jpegtopdf.html, вроде получается, но есть вопросы по именованию файла.


TOTALCMD#BAR#DATA
"%COMMANDER_PATH%\Utilites\JPEGtoPDF\JPEGtoPDF.exe"
"%T%O.pdf" %P%S
%COMMANDER_PATH%\Utilites\JPEGtoPDF\JPEGtoPDF.exe
JPEGtoPDF


-1
Как можно присваивать имя фала по имени папки?

Добавлено спустя 9 минут:

в IrfanView в файле i_view32.ini нужно менять в разделе

[ImPDF]
ImpdfPreviewOn=1


заменить на
ImpdfPreviewOn=0

тогда можно конвертировать из командной строки без подтверждений.

i_view32.exe c:\*.jpg /convert=d:\temp\*.pdf



Но проблема в многостраничных PDF
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Моторокер писал(а):Irfan точно умеет в отдельные файлы конвертировать, наверняка в справке можно найти и мульти PDF вариант. Возможно, другие смотрелки тоже поддерживают такую конвертацию.
Таких пофайловых конвертаторов полно. Что, собственно, и было названо хламом для сей задачи.
berya писал(а):IrfanView умеет, но не много страничные, по справке: делайте в многостраничный TIFF с последующей конвертацией в многостраничный PDF.
В общем-то, был ещё вариант делать одностраничные pdf, а потом их склеивать (с помощью Pdftk, например), но он мне что-то не очень понравился.
berya писал(а):Как можно присваивать имя фала по имени папки?
Скриптом. А если в одной папке несколько файлов? Я так понимаю, речь о родительской?
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

Да, имя файла = имени папки из которой создавался PDF
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Вопроса было 2..
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

все файлы в папке - в конвертацию с последующим удалением
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Стормозил. Файл-то один на выходе. Вопрос снимается.
Только вот опций у предоставленного интерпретатора нет. Это вообще никак не расстраивает? Я бы выложил 29$ за качественный продукт, если бы необходимость являлась частой.
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

качество вполне устраивает - главное время и удобство склейки
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Код: Выделить всё

'====================================================================================
' Сконвертировать выделенные графические файлы в один PDF с именем активного каталога

' Важно: если выбран только один файл, то конвертироваться будут все файлы
' c поддерживаемыми расширениями, расположенные в корне активного каталога

' Параметры: "<путь к редактору>" "<путь источника>" "<путь получателя>" %L
' Пример:    "%%COMMANDER_PATH%%\Utils\JPEGtoPDF.exe" "%P" "%T" %L
'====================================================================================
With WScript.Arguments
  If .Count = 0 Then WScript.Quit
  Edit = .Item(0)
  Path = .Item(1)
  Targ = .Item(2)
  List = .Item(3)
End With
If Right(Targ, 1) <> "\" Then Targ = Targ & "\"

Set D = CreateObject("Scripting.Dictionary")
For Each Ext in Split("BMP,GIF,JPG,JPEG,JP2,J2K,PNG,TIF,WMF,EMF", ",")
  D.Add Ext, ""
Next
With CreateObject("Scripting.FilesystemObject")
  Name = .GetFileName(Path)
  N = Name
  Const M = 1
  Do While .FileExists(Targ & Name & ".pdf")
    l = l + 1
    If l < 10^M Then PostFix = Right(String(M, "0") & l, M) Else PostFix = l
    Name = N & " (" & PostFix & ")"
  Loop
  Temp = Split(.OpenTextFile(List).ReadAll, vbNewLine)
  If UBound(Temp) = 1 Then
    For Each F in .GetFolder(Path).Files
      If D.Exists(Ucase(.GetExtensionName(F))) Then Pars = Pars & " """ & F & """"
    Next
  Else
    For Each F in Temp
      If F > vbNullString Then
        If D.Exists(Ucase(.GetExtensionName(F))) Then Pars = Pars & " """ & F & """"
      End If
    Next
  End If
  CreateObject("WScript.Shell").Exec Edit & " """ & Targ & Name & ".pdf""" & Pars
End With
Set D = Nothing
WScript.Quit
JPEGtoPDF
Последний раз редактировалось Flasher Ср ноя 23, 2011 04:15, всего редактировалось 5 раз.
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

Ошибка Windows Script Host

В "D:\Program" отсутствует расширение имени файла



И можно ли расширение JPG заменить на "все файлы" (*.*) - программа дружит и с TIFF и некоторыми другими графическими форматами?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Не вижу строки ошибки.
Я там случайно пробел в конце первого параметра вставил.
berya писал(а):И можно ли расширение JPG заменить на "все файлы" (*.*) - программа дружит и с TIFF и некоторыми другими графическими форматами?
Не знал. Убрал ограничение. А *.* - означает, что будут браться все файлы в папке бзе исключений. Оно надо?
berya
Сообщения: 46
Зарегистрирован: Вт ноя 15, 2011 22:20
Откуда: kiev

Сообщение berya »

убирал пробел и до этого - не помогает. Выбор всех файлов нужен, так как в одной папке могут быть разные типы файлов и чертежи и текст и фотографии

Добавлено спустя 35 секунд:

кнопка:

Добавлено спустя 10 секунд:

Код: Выделить всё

TOTALCMD#BAR#DATA
"D:\Program Files\Total Commander\vbs\pdf.vbs"
"%%COMMANDER_PATH%%\Utils\JPEGtoPDF\JPEGtoPDF.exe" "%T" %P%S 
C:\WINDOWS\System32\WScript.exe
pdf


-1
Последний раз редактировалось berya Вт ноя 22, 2011 16:56, всего редактировалось 1 раз.
Ответить