>100 Views
June 02, 25
スライド概要
RubyによるPDF・スクリーンショット生成の利点と課題(Ferrum活用)
Software Engineer at LumberMill inc.
RubyによるPDF・スクリーン ショット生成の利点と課題( Ferrum活用) こんにちは。今日はFerrumというRubyのツールについて話します。 Ferrumは、ヘッドレスブラウザドライバです。 スクリーンショットを取ったり、PDFを作ったり、JavaScriptが多いページを をテストできます。 by S.M.Tanjilur Rahman preencoded.png
デモ preencoded.png
Ferrumの活用事例 [Ferrum use cases] Heroku Deployments Web自動化 [Web Scrapping] • PDF作成やスクリーンショットに使われる • • 外部サービス不要で動作可能 [no plugin ] ステルス機能でボット検出を回避可能 [ Avoiding bot detection ] • Rubyコミュニティで人気 [ Pure Ruby] ヘッドレスブラウザの操作に最適 [ Suitable for headless mode] preencoded.png
良い点 [Merit] 純粋なRuby [ Pure Ruby ] 本物のブラウザ表示 [ Same as Browser] JavaやNode.jsは必要なし Chrome DevTools Protocolを使用 正確な出力 [ Accurate ] 使いやすさ [ Integration ] 精密なスクリーンショットとPDF生成 シンプルなAPI、Capybaraと連携可能 preencoded.png
悪い点 [Demerit] 環境依存 [ difficult config] ChromeやChromiumが必要で設定が大変 リソース消費 [ Huge Resource ] 軽いツールより多くのリソースを使用 パフォーマンス [slow for headerless mode] 静的HTMLでは表示が遅い 制限 [ complex layout ] レイアウトの自由が少なく、バグ修正が難しい preencoded.png
使いどころ&比較 [Where to use] 使う時 避ける時 • JavaScriptが多いページ [ Rich JS based page ] • 軽いPDFが必要 [ light or text-based pdf] • 本物の見た目が必要 [ To get exact same ] • 細かいレイアウト制御が必要 [complex layout control] preencoded.png
まとめ [Summary] [ Same as browser ] ブラウザ再現 見た目を正しく再現 [Disclaimer] 選択肢 [ slow, layout ] 用途に応じたツール選択を Ruby開発 [ Ruby suitable ] Ruby開発者に最適 注意点 [Choices] 速度とレイアウト制御に制限 preencoded.png
宣伝 [ Workshop ] 短いプレゼン 詳しく話せませんでした ワークショップ Ruby on Railsのワークショップ開催中 参加募集 興味があればぜひ参加を preencoded.png