Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Создание PDF файлов из группы файлов (JPG)
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
berya



Joined: 15 Nov 2011
Posts: 46
Location: kiev

Post (Separately) Posted: Tue Nov 15, 2011 23:23    Post subject: Создание PDF файлов из группы файлов (JPG) Reply with quote

Доброго времени суток.
Подскажите пожалуйста, если возможность написания скрипта для создания PDF файла из файлов находящихся в папке (в основном JPG)
Заранее спасибо.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Nov 17, 2011 01:15    Post subject: Reply with quote

Деньги готовим. Mr. Green

Увы, только шаровары:
Кнопка для 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
View user's profile Send private message
berya



Joined: 15 Nov 2011
Posts: 46
Location: kiev

Post (Separately) Posted: Thu Nov 17, 2011 15:36    Post subject: Reply with quote

Спасибо, будем искать варианты
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Mon Nov 21, 2011 14:50    Post subject: Reply with quote

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
View user's profile Send private message
berya



Joined: 15 Nov 2011
Posts: 46
Location: kiev

Post (Separately) Posted: Mon Nov 21, 2011 15:41    Post subject: Reply with quote

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
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Nov 21, 2011 23:14    Post subject: Reply with quote

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

berya wrote:
IrfanView умеет, но не много страничные, по справке: делайте в многостраничный TIFF с последующей конвертацией в многостраничный PDF.
В общем-то, был ещё вариант делать одностраничные pdf, а потом их склеивать (с помощью Pdftk, например), но он мне что-то не очень понравился.
berya wrote:
Как можно присваивать имя фала по имени папки?
Скриптом. А если в одной папке несколько файлов? Я так понимаю, речь о родительской?
Back to top
View user's profile Send private message
berya



Joined: 15 Nov 2011
Posts: 46
Location: kiev

Post (Separately) Posted: Tue Nov 22, 2011 00:57    Post subject: Reply with quote

Да, имя файла = имени папки из которой создавался PDF
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Nov 22, 2011 01:15    Post subject: Reply with quote

Вопроса было 2..
Back to top
View user's profile Send private message
berya



Joined: 15 Nov 2011
Posts: 46
Location: kiev

Post (Separately) Posted: Tue Nov 22, 2011 01:19    Post subject: Reply with quote

все файлы в папке - в конвертацию с последующим удалением
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Nov 22, 2011 01:25    Post subject: Reply with quote

Стормозил. Файл-то один на выходе. Вопрос снимается.
Только вот опций у предоставленного интерпретатора нет. Это вообще никак не расстраивает? Я бы выложил 29$ за качественный продукт, если бы необходимость являлась частой.
Back to top
View user's profile Send private message
berya



Joined: 15 Nov 2011
Posts: 46
Location: kiev

Post (Separately) Posted: Tue Nov 22, 2011 01:35    Post subject: Reply with quote

качество вполне устраивает - главное время и удобство склейки
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Nov 22, 2011 02:46    Post subject: Reply with quote

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
View user's profile Send private message
berya



Joined: 15 Nov 2011
Posts: 46
Location: kiev

Post (Separately) Posted: Tue Nov 22, 2011 15:58    Post subject: Reply with quote

Ошибка Windows Script Host

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



И можно ли расширение JPG заменить на "все файлы" (*.*) - программа дружит и с TIFF и некоторыми другими графическими форматами?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Nov 22, 2011 16:11    Post subject: Reply with quote

Не вижу строки ошибки.
Я там случайно пробел в конце первого параметра вставил.

berya wrote:
И можно ли расширение JPG заменить на "все файлы" (*.*) - программа дружит и с TIFF и некоторыми другими графическими форматами?
Не знал. Убрал ограничение. А *.* - означает, что будут браться все файлы в папке бзе исключений. Оно надо?
Back to top
View user's profile Send private message
berya



Joined: 15 Nov 2011
Posts: 46
Location: kiev

Post (Separately) Posted: Tue Nov 22, 2011 16:19    Post subject: Reply with quote

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

Добавлено спустя 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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group