View previous topic :: View next topic |
Author |
Message |
berya
Joined: 15 Nov 2011 Posts: 46 Location: kiev
|
(Separately) Posted: Tue Nov 15, 2011 23:23 Post subject: Создание PDF файлов из группы файлов (JPG) |
|
|
Доброго времени суток.
Подскажите пожалуйста, если возможность написания скрипта для создания PDF файла из файлов находящихся в папке (в основном JPG)
Заранее спасибо. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Flasher
![](images/avatars/11897631144e285f14b2775.jpg)
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Nov 17, 2011 01:15 Post subject: |
|
|
Деньги готовим.
Увы, только шаровары:
Кнопка для Image to PDF Command Line Tool.
Code: | 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:
Code: | 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:
Code: | 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) цеплять не очень хочется.
Ну а такого бесплатного хлама в сети полно. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
berya
Joined: 15 Nov 2011 Posts: 46 Location: kiev
|
(Separately) Posted: Thu Nov 17, 2011 15:36 Post subject: |
|
|
Спасибо, будем искать варианты |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Моторокер
![](images/avatars/952320384818503e6d13d.gif)
Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Mon Nov 21, 2011 14:50 Post subject: |
|
|
Irfan точно умеет в отдельные файлы конвертировать, наверняка в справке можно найти и мульти PDF вариант. Возможно, другие смотрелки тоже поддерживают такую конвертацию.
Добавлено спустя 31 минуту:
berya ответил в личку:
Quote: | IrfanView умеет, но не много страничные, по справке: делайте в многостраничный TIFF с последующей конвертацией в многостраничный PDF.
Сейчас разбираюсь с http://www.compulsivecode.com/jpegtopdf.html, вроде получается, но есть вопросы по именованию файла.
Выложить в общий пост не могу - новичков не пускают - если у Вас есть возможность - выложите ссылку. |
_________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
berya
Joined: 15 Nov 2011 Posts: 46 Location: kiev
|
(Separately) Posted: Mon Nov 21, 2011 15:41 Post subject: |
|
|
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 |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Flasher
![](images/avatars/11897631144e285f14b2775.jpg)
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Nov 21, 2011 23:14 Post subject: |
|
|
Моторокер wrote: | Irfan точно умеет в отдельные файлы конвертировать, наверняка в справке можно найти и мульти PDF вариант. Возможно, другие смотрелки тоже поддерживают такую конвертацию. | Таких пофайловых конвертаторов полно. Что, собственно, и было названо хламом для сей задачи.
berya wrote: | IrfanView умеет, но не много страничные, по справке: делайте в многостраничный TIFF с последующей конвертацией в многостраничный PDF. | В общем-то, был ещё вариант делать одностраничные pdf, а потом их склеивать (с помощью Pdftk, например), но он мне что-то не очень понравился.
berya wrote: | Как можно присваивать имя фала по имени папки? | Скриптом. А если в одной папке несколько файлов? Я так понимаю, речь о родительской? |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
berya
Joined: 15 Nov 2011 Posts: 46 Location: kiev
|
(Separately) Posted: Tue Nov 22, 2011 00:57 Post subject: |
|
|
Да, имя файла = имени папки из которой создавался PDF |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Flasher
![](images/avatars/11897631144e285f14b2775.jpg)
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Nov 22, 2011 01:15 Post subject: |
|
|
Вопроса было 2.. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
berya
Joined: 15 Nov 2011 Posts: 46 Location: kiev
|
(Separately) Posted: Tue Nov 22, 2011 01:19 Post subject: |
|
|
все файлы в папке - в конвертацию с последующим удалением |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Flasher
![](images/avatars/11897631144e285f14b2775.jpg)
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Nov 22, 2011 01:25 Post subject: |
|
|
Стормозил. Файл-то один на выходе. Вопрос снимается.
Только вот опций у предоставленного интерпретатора нет. Это вообще никак не расстраивает? Я бы выложил 29$ за качественный продукт, если бы необходимость являлась частой. |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
berya
Joined: 15 Nov 2011 Posts: 46 Location: kiev
|
(Separately) Posted: Tue Nov 22, 2011 01:35 Post subject: |
|
|
качество вполне устраивает - главное время и удобство склейки |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Flasher
![](images/avatars/11897631144e285f14b2775.jpg)
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Nov 22, 2011 02:46 Post subject: |
|
|
Code: | '====================================================================================
' Сконвертировать выделенные графические файлы в один 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
Last edited by Flasher on Wed Nov 23, 2011 04:15; edited 5 times in total |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
berya
Joined: 15 Nov 2011 Posts: 46 Location: kiev
|
(Separately) Posted: Tue Nov 22, 2011 15:58 Post subject: |
|
|
Ошибка Windows Script Host
В "D:\Program" отсутствует расширение имени файла
И можно ли расширение JPG заменить на "все файлы" (*.*) - программа дружит и с TIFF и некоторыми другими графическими форматами? |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
Flasher
![](images/avatars/11897631144e285f14b2775.jpg)
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Nov 22, 2011 16:11 Post subject: |
|
|
Не вижу строки ошибки.
Я там случайно пробел в конце первого параметра вставил.
berya wrote: | И можно ли расширение JPG заменить на "все файлы" (*.*) - программа дружит и с TIFF и некоторыми другими графическими форматами? | Не знал. Убрал ограничение. А *.* - означает, что будут браться все файлы в папке бзе исключений. Оно надо? |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
berya
Joined: 15 Nov 2011 Posts: 46 Location: kiev
|
(Separately) Posted: Tue Nov 22, 2011 16:19 Post subject: |
|
|
убирал пробел и до этого - не помогает. Выбор всех файлов нужен, так как в одной папке могут быть разные типы файлов и чертежи и текст и фотографии
Добавлено спустя 35 секунд:
кнопка:
Добавлено спустя 10 секунд:
Code: | 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 |
Last edited by berya on Tue Nov 22, 2011 16:56; edited 1 time in total |
|
Back to top |
|
![](templates/subSilver/images/spacer.gif) |
|