Преобразование PDF в изображения с помощью Imagemagick + RMagic - PullRequest
0 голосов
/ 09 июня 2011

В настоящее время я использую скрепку для преобразования файлов PDF в изображения.

Мой код выглядит примерно так

  def convert_keynote_to_slides
    system('convert -size 640x300 ' +  keynote.queued_for_write[:original].path + ' ' + KEYNOTE_PATH + '/' + File.basename( self.keynote_file_name )+"%02d.png")

    slide_basename = File.basename( self.keynote_file_name )

    files = Dir.entries(KEYNOTE_PATH).sort
    for file in files
      #puts file if file.include?(slide_basename +'-')
      self.slides.build("slide" => "#{file}") if file.include?(slide_basename)
    end

  end

Я уверен, что это может быть переработано, чтобы работать лучше.

Мои вопросы:

Есть ли способ узнать о прогрессе ImageMagick, если нет, как бы я положил это в отложенную работу, так как я беспокоюсь, что это не очень хорошо масштабируется.

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

1 Ответ

0 голосов
/ 09 июня 2011

Надеюсь, вы выполняете обширную фильтрацию входных переменных keynote.queued_for_write[:original].path и File.basename( self.keynote_file_name ), поэтому вы не подвержены атакам с использованием метасимволов оболочки .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...