На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА
В этом разделе решаются вопросы, касающиеся векторной/растровой графики, а также 3D-редакторов.
Вопросы по программированию графики (работу с графическими форматами, распознавание изображений и т.д.) - просьба создавать в разделе Программирование графики.

Обучающие материалы: PhotoShop, PhotoPaint, ... растровая графика, Corel DRAW, Illustrator, ... векторная графика, 3D графика, 3D-анимация
Модераторы: Tri Repetae, Serafim
  
> Конвертация pdf в jpg программым методом , dll, exe файл с командной строкой
    Погуглил, пояндексил.. Ничего путого не нашел.
    Смысл данной операции прост. Есть файл pdf, надо его перевести в jpg, для производства над ним манипуляций. В идеальном случае, требуется некий конвертер командной строки с параметрами, который можно запустить из скрипта на Autoit.

    То есть решается задача обратная преобразованию в pdf.

    Соответственно все это надо засунуть программный код.

    Может кто подскажет простейший способ? Хоть какую утилиту командной строки?
      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 понадобится :ph34r:
      Сообщение отредактировано: SVK -
        Цитата 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 понадобится :ph34r:

        Про imagemagick читал, ставил. Этот установочный пакет 60 мегов занимает на диске, причем туда понапихано всего. Как я понял в последней версии - еще и видеоконвертер. Если бы вы еще написали какие конкретно библиотеки оттуда надо сохранить...
        А ghostscript зачем нужен? В документации по imagemagick есть пример как внедрить все это в vbs

        ExpandedWrap disabled
          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-мегабайтного великолепия реально потребуется для поставленной задачи?
          Цитата Vlasssov @
          А ghostscript зачем нужен?
          он как-раз и будет парсить pdf, на сколько я понимаю. Может можно и им обойтись...
          Цитата Vlasssov @
          Этот установочный пакет 60 мегов занимает на диске, причем туда понапихано всего.
          ну чтож делать.. такой инструмент :scratch: более подробно проконсультировать не могу, сам только пару раз использовал и меня это не смущало :)
            Цитата SVK @
            Цитата Vlasssov @
            А ghostscript зачем нужен?
            он как-раз и будет парсить pdf, на сколько я понимаю. Может можно и им обойтись...
            Цитата Vlasssov @
            Этот установочный пакет 60 мегов занимает на диске, причем туда понапихано всего.
            ну чтож делать.. такой инструмент :scratch: более подробно проконсультировать не могу, сам только пару раз использовал и меня это не смущало :)

            И на том спасибо!
              Цитата SVK @
              он как-раз и будет парсить pdf, на сколько я понимаю. Может можно и им обойтись...
              Цитата http://www.commandlinefu.com/commands/view...ing-ghostscript
              gs -dNOPAUSE -sDEVICE=jpeg -r144 -sOutputFile=p%03d.jpg file.pdf
                GhostScript'а более чем достаточно.

                А можно просто напрямую выдрать из pdf-файла картинки, если pdf-файл собран из отсканированных листов.
                  Цитата amk @
                  GhostScript'а более чем достаточно.

                  А можно просто напрямую выдрать из pdf-файла картинки, если pdf-файл собран из отсканированных листов.

                  Это как так можно сделать?
                    Цитата Vlasssov @
                    Это как так можно сделать?
                    pdf-файл состоит из последовательных инструкций. Периодически между инструкциями встречаются бинарные потоки данных, заключенные между последовательностями 'stream\r\n' и '\r\nendstream'. Вместо '\r\n' может быть также просто '\n', зависит от платформы, на которой собирался pdf.
                    jpg-файл, используемый в качестве страницы, хранится обычно без дополнительной обработки. Иногда встречал потоки JPEG-2000 и еще какие-то. Картинки могут встречаться в порядке, отличном от порядка страниц. И обычно картинки это только треть или четверть всего количества таких потоков.

                    Добавлено
                    В таком же виде часто хранится отсканированная обложка в обычном файле.
                    Текстовые (черно-белые) страницы часто хранятся в каком-то непонятном формате, подозреваю какой-нибудь формат факса (по последовательности байт похоже на поток сжатия CCITT 4, используемый в TIFF 6)
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0321 ]   [ 15 queries used ]   [ Generated: 11.12.24, 15:00 GMT ]