1

Rails アプリケーション用に複数ページの PDF を分割し、ページを png に変換しようとしています。最良のケースでは、画像モデルのページごとに 1 つのエントリになるでしょう。

これは私がこれまでに得たものです:

def generate_png
  manipulate! do |image, index|
    image.format = 'png'
    image.write("#{Rails.root}/public/#{store_dir}/image-#{index}.png")
  end
end

残念ながら、最初のフレームでは image-0.png しか得られず、他のフレームでは何も得られません。どこが間違っていますか?

フレームごとに画像モデルに新しいエントリを生成するにはどうすればよいですか? 何かのようなもの

model.images.new :image => image

?

皆さん、ありがとうございました!

4

1 に答える 1

1

ファイル名がfile.pdfの場合、pdfファイルを画像に分割すると、結果は同じ名前の複数の画像になり、file-0.png、file-1.pngのような番号が付けられます.......そうPDFから変換されたすべての画像をロードし、必要な形式に変換する必要があります

分割されたpdfファイルの戻り値は、pdfファイルの最初のページである最初の画像のみであるため、image-0.pngが得られます

通常どおりファイルをアップロードし、 after_create メソッドを実行できます

def generate_image_form_pdf 
  file = @magazine.file
  file_name=file.path.sub(".pdf",".jpg")
  system("convert #{file.path}  #{file_name}")
end

上記の方法では、pdf ファイルから jpg 画像が作成され、元の pdf ファイルと同じディレクトリに同じ名前で保存されます。

于 2013-04-25T10:39:30.983 に答える