定期的に外部サイトのキャプチャをPDF化する

generate_pdf プラグインを利用すると、指定されたURLの画面をキャプチャし、PDFや画像形式で保存することができます。 オリジナル処理やバッチ処理など、Smarty構文が記述可能な箇所から呼び出すことができます。

今回は例として、1日1回、指定した外部サイトをキャプチャしてPDF化し、Kurocoに保存するバッチ処理を作成します。

前提条件

本プラグインを利用する場合はFirebaseとの連携を設定している必要があります。
Firebase連携についてはFirebaseと連携して、Storageにファイルを保存するをご確認ください。

外部サイトのキャプチャをPDF化する

バッチ処理を作成する

Kuroco管理画面のサイドメニューの[オペレーション] -> [バッチ処理]をクリックします。

Image from Gyazo

バッチ一覧から[+追加]をクリックします。

Image from Gyazo

バッチ処理を作成します。今回は以下のように設定します。

  • タイトル: 外部サイト日次キャプチャ取得
  • Slug: daily_capture
  • バッチ: 毎日、00:00
  • 実行内容: (以下の内容を記述してください)
{assign var=date value=$smarty.now|date_format:'%Y%m%d'}
{assign var=path value='files/g/private/sample_'|cat:$date|cat:'.pdf'}
{generate_pdf url='https://www.diverta.co.jp' path=$path}

Image from Gyazo

[追加する]をクリックし、設定を保存します。

バッチ処理の確認

今回は毎日0時にバッチが実行されるように指定していますので、毎日0時にバッチが実行され、KurocoFilesにPDFが保存されます。 または、タイトル横に「すぐに実行する」ボタンがありますので、こちらをクリックするとバッチ処理が実行されます。

Image from Gyazo

バッチ実行後、ファイルが作成されているか確認します。 Kuroco管理画面のサイドメニューの[ファイル]をクリックします。

Image from Gyazo

GCS(Private)にファイルが作成されていることが確認できます。

Image from Gyazo

PDFが生成されるまでには数十秒〜数分時間がかかる場合があります。

関連ドキュメント

generate_pdfの詳細ついては、Smartyプラグイン -> generate_pdf をご確認ください。

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。