---
title: 定期的に外部サイトのキャプチャをPDF化する
description: generate_pdfプラグインを利用することで、指定されたURLの画面をキャプチャし、PDFや画像形式で保存できます。今回は例として、1日1回、指定した外部サイトをキャプチャしてPDF化し、Kurocoに保存するバッチ処理を作成します。
---

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

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

## 前提条件
本プラグインを利用する場合はFirebaseとの連携を設定している必要があります。  
Firebase連携については[Firebaseと連携して、Storageにファイルを保存する](/ja/docs/tutorials/firebase/)をご確認ください。

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

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

![Image from Gyazo](https://t.gyazo.com/teams/diverta/1d2dd9049a23aa042744e95bf6cb395b.png)

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

![Image from Gyazo](https://t.gyazo.com/teams/diverta/710fb9a80042dbf10ba73dd4b03f3387.png)

バッチ処理を作成します。今回は以下のように設定します。
- タイトル: 外部サイト日次キャプチャ取得
- 識別子: daily_capture
- バッチ: 毎日、00:00
- 処理: （以下の内容を記述してください）

```smarty
{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](https://t.gyazo.com/teams/diverta/113b251355c89f558359b049126038ab.jpg)

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


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

![Image from Gyazo](https://t.gyazo.com/teams/diverta/ed410a2e4e56b479acdc3dbdec323d8e.png)

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

![Image from Gyazo](https://t.gyazo.com/teams/diverta/f1356f9083771e69907eada083164cd5.png)

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

![Image from Gyazo](https://t.gyazo.com/teams/diverta/57afcbc7b39ebe59719eb262de9c90c0.png)

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

## 関連ドキュメント
`generate_pdf`の詳細ついては、[Smartyプラグイン -> generate_pdf](/ja/docs/reference/smarty-plugin/#generate_pdf) をご確認ください。