Skip to content

Yothuba3/growi-plugin-pdf-export

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

growi-plugin-pdf-export

GROWI のページを クライアントサイドで PDF にエクスポート するスクリプトプラグインです。 ページ右下に「Export PDF」ボタンを追加し、押下するとそのページの本文を PDF として保存します。

機能

  • ページ右下にフローティングボタンを表示
  • ボタン押下でページ本文 (.revision-body 等) を PDF へ変換しダウンロード
  • ファイル名は <ページタイトル>_<YYYY-MM-DD>.pdf
  • A4 縦、余白 10mm、画像化スケール 2x

ビルド

pnpm install   # もしくは npm install / yarn install
pnpm build

dist/ 配下に client-entry.js などの成果物が生成されます。

開発

pnpm dev       # 変更を監視して再ビルド
pnpm lint      # tsc による型チェック

GROWI へのインストール

  1. このリポジトリを GitHub に push (リポジトリのトピックに growi-plugin を付けると公式リストにも反映されます)
  2. ビルド成果物 (dist/) もリポジトリにコミット (GROWI はリポジトリから直接読み込むため)
  3. GROWI の管理画面 → プラグイン → 「インストール」から GitHub URL を入力
  4. プラグインを有効化

有効化後にページをリロードすると、右下に Export PDF ボタンが表示されます。

仕組み

  • client-entry.tsxwindow.pluginActivators['growi-plugin-pdf-export']activate / deactivate を登録します
  • activate 時に DOM へボタンと CSS を注入
  • クリック時に html2pdf.js (html2canvas + jsPDF) を用いて本文要素を PDF 化

既知の制約

  • クライアントサイド変換のため、極端に長いページではメモリ消費が大きくなります
  • 外部 CORS 画像は useCORS: true でも取得できない場合があります
  • 数式 (KaTeX) / 図表 (Mermaid 等) は描画済み DOM をそのまま画像化します

ライセンス

MIT

About

Client-side PDF export plugin for GROWI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors