GROWI のページを クライアントサイドで PDF にエクスポート するスクリプトプラグインです。 ページ右下に「Export PDF」ボタンを追加し、押下するとそのページの本文を PDF として保存します。
- ページ右下にフローティングボタンを表示
- ボタン押下でページ本文 (
.revision-body等) を PDF へ変換しダウンロード - ファイル名は
<ページタイトル>_<YYYY-MM-DD>.pdf - A4 縦、余白 10mm、画像化スケール 2x
pnpm install # もしくは npm install / yarn install
pnpm builddist/ 配下に client-entry.js などの成果物が生成されます。
pnpm dev # 変更を監視して再ビルド
pnpm lint # tsc による型チェック- このリポジトリを GitHub に push (リポジトリのトピックに
growi-pluginを付けると公式リストにも反映されます) - ビルド成果物 (
dist/) もリポジトリにコミット (GROWI はリポジトリから直接読み込むため) - GROWI の管理画面 → プラグイン → 「インストール」から GitHub URL を入力
- プラグインを有効化
有効化後にページをリロードすると、右下に Export PDF ボタンが表示されます。
client-entry.tsxがwindow.pluginActivators['growi-plugin-pdf-export']にactivate/deactivateを登録しますactivate時に DOM へボタンと CSS を注入- クリック時に
html2pdf.js(html2canvas + jsPDF) を用いて本文要素を PDF 化
- クライアントサイド変換のため、極端に長いページではメモリ消費が大きくなります
- 外部 CORS 画像は
useCORS: trueでも取得できない場合があります - 数式 (KaTeX) / 図表 (Mermaid 等) は描画済み DOM をそのまま画像化します
MIT