Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.9.168] |
|
Сообщ.
#1
,
|
|
|
Погуглил, пояндексил.. Ничего путого не нашел.
Смысл данной операции прост. Есть файл pdf, надо его перевести в jpg, для производства над ним манипуляций. В идеальном случае, требуется некий конвертер командной строки с параметрами, который можно запустить из скрипта на Autoit. То есть решается задача обратная преобразованию в pdf. Соответственно все это надо засунуть программный код. Может кто подскажет простейший способ? Хоть какую утилиту командной строки? |
Сообщ.
#2
,
|
|
|
Imagemagick это может
Цитата http://stackoverflow.com/questions/4809314...page-of-the-pdf convert D:\test\sample.pdf[7] D:\test\pages\page-7.jpg Вопрос только в том, на сколько этот метод окажется удобным p.s. ещё ghostscript понадобится |
Сообщ.
#3
,
|
|
|
Цитата SVK @ Imagemagick это может Цитата http://stackoverflow.com/questions/4809314...page-of-the-pdf convert D:\test\sample.pdf[7] D:\test\pages\page-7.jpg Вопрос только в том, на сколько этот метод окажется удобным p.s. ещё ghostscript понадобится Про imagemagick читал, ставил. Этот установочный пакет 60 мегов занимает на диске, причем туда понапихано всего. Как я понял в последней версии - еще и видеоконвертер. Если бы вы еще написали какие конкретно библиотеки оттуда надо сохранить... А ghostscript зачем нужен? В документации по imagemagick есть пример как внедрить все это в vbs Option Explicit On Error Resume Next Const ERROR_SUCCESS = 0 Dim img Dim info Dim msgs Dim elem Dim sMsgs ' ' This is the simplest sample I could come up with. It creates ' the ImageMagick COM object and then sends a copy of the IM ' logo out to a JPEG image files on disk. ' Set img = CreateObject("ImageMagickObject.MagickImage.1") ' ' The methods for the IM COM object are identical to utility ' command line utilities. You have convert, composite, identify, ' mogrify, and montage. We did not bother with animate, and ' display since they have no purpose in this context. ' ' The argument list is exactly the same as the utility programs ' as a list of strings. In fact you should just be able to ' copy and past - do simple editing and it will work. See the ' other samples for more elaborate command sequences and the ' documentation for the utility programs for more details. ' msgs = img.Convert("logo:","-format","%m,%h,%w","info:") ' ' By default - the string returned is the height, width, and the ' type of the image that was output. You can control this using ' the -format "xxxxxx" command as documented by identify. ' If Err.Number <> ERROR_SUCCESS Then ShowError: WScript.Quit MsgBox "info: " & msgs Set img=Nothing WScript.Quit(0) Sub ShowError sMsgs = "" If BasicError(Err.Number) > 5000 Then sMsgs = " ImageMagickObject" & vbCrLf End If WScript.Echo Err.Number & ": " & Err.Description & vbCrLf & sMsgs End Sub Function BasicError(e) BasicError = e And &HFFFF& End Function Только опять вопрос... Что из этого 60-мегабайтного великолепия реально потребуется для поставленной задачи? |
Сообщ.
#4
,
|
|
|
Цитата Vlasssov @ он как-раз и будет парсить pdf, на сколько я понимаю. Может можно и им обойтись...А ghostscript зачем нужен? Цитата Vlasssov @ ну чтож делать.. такой инструмент более подробно проконсультировать не могу, сам только пару раз использовал и меня это не смущало Этот установочный пакет 60 мегов занимает на диске, причем туда понапихано всего. |
Сообщ.
#5
,
|
|
|
Цитата SVK @ Цитата Vlasssov @ он как-раз и будет парсить pdf, на сколько я понимаю. Может можно и им обойтись...А ghostscript зачем нужен? Цитата Vlasssov @ ну чтож делать.. такой инструмент более подробно проконсультировать не могу, сам только пару раз использовал и меня это не смущало Этот установочный пакет 60 мегов занимает на диске, причем туда понапихано всего. И на том спасибо! |
Сообщ.
#6
,
|
|
|
Цитата SVK @ он как-раз и будет парсить pdf, на сколько я понимаю. Может можно и им обойтись... Цитата http://www.commandlinefu.com/commands/view...ing-ghostscript gs -dNOPAUSE -sDEVICE=jpeg -r144 -sOutputFile=p%03d.jpg file.pdf |
Сообщ.
#7
,
|
|
|
GhostScript'а более чем достаточно.
А можно просто напрямую выдрать из pdf-файла картинки, если pdf-файл собран из отсканированных листов. |
Сообщ.
#8
,
|
|
|
Цитата amk @ GhostScript'а более чем достаточно. А можно просто напрямую выдрать из pdf-файла картинки, если pdf-файл собран из отсканированных листов. Это как так можно сделать? |
Сообщ.
#9
,
|
|
|
Цитата Vlasssov @ pdf-файл состоит из последовательных инструкций. Периодически между инструкциями встречаются бинарные потоки данных, заключенные между последовательностями 'stream\r\n' и '\r\nendstream'. Вместо '\r\n' может быть также просто '\n', зависит от платформы, на которой собирался pdf.Это как так можно сделать? jpg-файл, используемый в качестве страницы, хранится обычно без дополнительной обработки. Иногда встречал потоки JPEG-2000 и еще какие-то. Картинки могут встречаться в порядке, отличном от порядка страниц. И обычно картинки это только треть или четверть всего количества таких потоков. Добавлено В таком же виде часто хранится отсканированная обложка в обычном файле. Текстовые (черно-белые) страницы часто хранятся в каком-то непонятном формате, подозреваю какой-нибудь формат факса (по последовательности байт похоже на поток сжатия CCITT 4, используемый в TIFF 6) |