n1sym tech blog

puppeteer-ruby でgif画像のスクショを撮る

rails アプリで gif画像のスクショを撮って保存するメモ。

puppeteer-ruby を使う。

前提:Dockerfile に chromium 、Gemfile に puppeteer-ruby を追加

サンプルコード

  def screenshot(image_url)
    store_path = "app/assets/images/screenshot.png"
    Puppeteer.launch(headless: true, args: ['--no-sandbox']) do |browser|
      page = browser.new_page
      page.goto(image_url)
      page.query_selector("img")&.evaluate("node => node.style.width = '100%'")
      page.screenshot(path: store_path)
    end
  end
← Back to home