クイックスタート

ライブデモ

ライブデモ では、現実の帳票を想定したサンプルが多数用意されています。インストールやユーザー登録等は一切不要で使用いただけます。

とりあえず動かしてみる

CDNのyagisan-reportsを使用すると、インストールやビルドが不要ですぐに始められます。帳票出力処理はWebブラウザ単体で動作するため、帳票サーバーを構築する必要もありません。

yagisan-reportsを使った帳票開発は、大きく分けて2ステップとなります。

  • 帳票テンプレートの作成

  • yagisan-reportsの組み込み

本手順ではサンプルの帳票テンプレートを使用して、テンプレート作成を省略します。

参考までに、サンプルの帳票テンプレートは、次のようなXMLとなっています(実際にはこのXMLを 帳票テンプレートの作成 の手順に従って変換する必要があります)。

<LayoutXml>
  <LinearLayout size="A4" orientation="vertical">
    <LayoutBody>
      <Text size="30">${message}</Text>
      <Spacer height="30" />
      <Text size="12">このPDFはyagisan-reportsによって作成されました</Text>
    </LayoutBody>
  </LinearLayout>
</LayoutXml>

次のコードをコピーし、HTMLファイル(例えば index.html)として保存します。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<script src="https://cdn.jsdelivr.net/npm/yagisan-reports@latest/umd.js" defer></script>
<script type="module">
const buttonEl = document.getElementById('generateButton');

// CDN版を使う場合は依存モジュールのURL設定が必要です
YagisanReports.globalOptions.workerUrl = 'https://cdn.jsdelivr.net/npm/yagisan-reports@latest/reportworker.js';
YagisanReports.globalOptions.fontUrl = 'https://cdn.jsdelivr.net/npm/yagisan-reports@latest/';

buttonEl.addEventListener('click', async ev => {
    buttonEl.disabled = true;

    // 帳票テンプレートファイルのダウンロード
    const yrtUrl = 'https://preview.yagisan-reports-docs.pages.dev/developer-guide/v1.0/_attachments/quickstart/sample.yrt';
    const yrt = await fetch(yrtUrl).then(res => res.arrayBuffer());

    // 帳票エンジンのセットアップ
    const engine = YagisanReports.createEngine();
    const tempalte = await engine.loadTemplate(yrt);
    const generator = await tempalte.createPdfReportGenerator();

    // 帳票の生成
    const report = await generator.generate({
        message: 'hello!\nyagisan-reports!!'
    });
    const pdf = await report.getContent();

    // 生成したPDFのダウンロード
    download('hello.pdf', pdf);

    // 帳票エンジンの破棄
    generator.dispose();
    tempalte.dispose();
    engine.dispose();

    buttonEl.disabled = false;
});

function download(filename, buff) {
    const blob = new Blob([buff], {type: 'application/pdf'});
    const blobUrl = URL.createObjectURL(blob);

    const anchor = document.createElement('a');
    anchor.download = filename;
    anchor.href = blobUrl;

    document.body.appendChild(anchor);
    anchor.click();

    anchor.remove();
    URL.revokeObjectURL(blobUrl);
}
</script>
</head>
<body>
<button id="generateButton">帳票を生成して保存</button>
</body>
</html>

以上で完成です。このHTMLファイルをWebブラウザで開いて、ボタンをクリックすると帳票出力が行われます。

本格的に開発を行いたい場合は、次のページの解説を参照してください。