Страница 1 из 3
Создание PDF файлов из группы файлов (JPG)
Добавлено: Вт ноя 15, 2011 23:23
berya
Доброго времени суток.
Подскажите пожалуйста, если возможность написания скрипта для создания PDF файла из файлов находящихся в папке (в основном JPG)
Заранее спасибо.
Добавлено: Чт ноя 17, 2011 01:15
Flasher
Деньги готовим.
Увы, только шаровары:
Кнопка для
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) цеплять не очень хочется.
Ну а
такого бесплатного хлама в сети полно.
Добавлено: Чт ноя 17, 2011 15:36
berya
Спасибо, будем искать варианты
Добавлено: Пн ноя 21, 2011 15:21
Моторокер
Irfan точно умеет в отдельные файлы конвертировать, наверняка в справке можно найти и мульти PDF вариант. Возможно, другие смотрелки тоже поддерживают такую конвертацию.
Добавлено спустя 31 минуту:
berya ответил в личку:
IrfanView умеет, но не много страничные, по справке: делайте в многостраничный TIFF с последующей конвертацией в многостраничный PDF.
Сейчас разбираюсь с
http://www.compulsivecode.com/jpegtopdf.html, вроде получается, но есть вопросы по именованию файла.
Выложить в общий пост не могу - новичков не пускают - если у Вас есть возможность - выложите ссылку.
Добавлено: Пн ноя 21, 2011 15:50
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
Добавлено: Пн ноя 21, 2011 23:14
Flasher
Моторокер писал(а):Irfan точно умеет в отдельные файлы конвертировать, наверняка в справке можно найти и мульти PDF вариант. Возможно, другие смотрелки тоже поддерживают такую конвертацию.
Таких пофайловых конвертаторов полно. Что, собственно, и было названо хламом для сей задачи.
berya писал(а):IrfanView умеет, но не много страничные, по справке: делайте в многостраничный TIFF с последующей конвертацией в многостраничный PDF.
В общем-то, был ещё вариант делать одностраничные pdf, а потом их склеивать (с помощью Pdftk, например), но он мне что-то не очень понравился.
berya писал(а):Как можно присваивать имя фала по имени папки?
Скриптом. А если в одной папке несколько файлов? Я так понимаю, речь о родительской?
Добавлено: Вт ноя 22, 2011 00:57
berya
Да, имя файла = имени папки из которой создавался PDF
Добавлено: Вт ноя 22, 2011 01:15
Flasher
Вопроса было 2..
Добавлено: Вт ноя 22, 2011 01:19
berya
все файлы в папке - в конвертацию с последующим удалением
Добавлено: Вт ноя 22, 2011 01:25
Flasher
Стормозил. Файл-то один на выходе. Вопрос снимается.
Только вот опций у предоставленного интерпретатора нет. Это вообще никак не расстраивает? Я бы выложил 29$ за качественный продукт, если бы необходимость являлась частой.
Добавлено: Вт ноя 22, 2011 01:35
berya
качество вполне устраивает - главное время и удобство склейки
Добавлено: Вт ноя 22, 2011 02:46
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
Добавлено: Вт ноя 22, 2011 15:58
berya
Ошибка Windows Script Host
В "D:\Program" отсутствует расширение имени файла
И можно ли расширение JPG заменить на "все файлы" (*.*) - программа дружит и с TIFF и некоторыми другими графическими форматами?
Добавлено: Вт ноя 22, 2011 16:11
Flasher
Не вижу строки ошибки.
Я там случайно пробел в конце первого параметра вставил.
berya писал(а):И можно ли расширение JPG заменить на "все файлы" (*.*) - программа дружит и с TIFF и некоторыми другими графическими форматами?
Не знал. Убрал ограничение. А *.* - означает, что будут браться все файлы в папке бзе исключений. Оно надо?
Добавлено: Вт ноя 22, 2011 16:20
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