pdf

PDF Pipeline Builder

PDF処理をノードで組み、途中結果を確認しながら、保存Recipeとして別のPDFにも繰り返し使えます。

ローカル処理
ファイルについてこのツールで選択したファイルや入力内容は、Browser Kittyのバックエンドへアップロードせずブラウザ内で処理します。
操作デモ 実際の操作の流れを短い動画で確認できます。

このツールについて

PDF Pipeline Builderは、PDFに対する複数の処理をノードでつなぎ、実行順を目で確認しながら組み立てるツールです。PDF Inputからページ選択・並べ替え、削除、複製、空白ページ挿入、回転、逆順、Split / Merge、ページ番号、Watermark、Text Stampなどをつなぎ、最後にPDF Outputへ出力します。Nodeを選ぶと、その時点まで処理したPDFを途中結果として確認できます。

作ったPipelineは、このブラウザですぐ再利用するRecipeとして保存するか、バックアップ・別端末への移動・Git管理に向いたPipeline JSONとして書き出せます。どちらにも元PDF bytesは保存されないため、再利用時にはPDF Inputを選び直します。選択したPDF、途中Preview、Recipe実行、生成PDFはブラウザ内で処理され、アプリからPDF内容をサーバーへ送信しません。

こんなときに便利

  • 毎回同じ順番でPDFのページ選択・並べ替え・ページ番号付けを行い、その手順を再利用したい
  • PDFを選択ページと残りページへ分け、別々に処理してから決めた順番で再結合したい
  • ページ番号やウォーターマークを付ける前後の順序を含めてPDF処理を組みたい
  • 複数ステップのPDF処理で、最終出力だけでなく途中Nodeの結果も確認したい
  • PDF処理フローをPipeline JSONとしてバックアップし、別端末やGitで管理したい

できること

このツールで利用できる主な機能です。

使い方

  1. 「ツールを開く」を押し、PDF Input Nodeを1つ以上追加してローカルPDFを選択します。
  2. Paletteから処理Nodeをクリック、またはCanvasへドラッグして追加します。
  3. 実行したい順番でNodeを接続します。分岐が必要ならSplit Pages、再結合にはMerge Pagesを使います。
  4. Nodeを選び、右側で設定とその時点の途中結果Previewを確認します。PDF Outputでは最終の「結果」として表示されます。
  5. 最後のページ列をPDF Outputへ接続し、出力ファイル名を設定してPipelineを実行します。
  6. 生成結果を確認し、必要ならPDFを保存します。
  7. 同じブラウザですぐ再利用する場合はRecipe、バックアップや別端末へ移す場合はPipeline JSONとして保存します。

対応範囲

  • 入力 / 出力: ローカルPDFをPDF Inputへ選択し、処理後のPDFをPDF Outputから保存します。複数のPDF Inputにも対応します。
  • ページ操作: 選択・並べ替え、削除、複製、空白ページ挿入、Rotate、Reverse Pages。ページ指定は各Nodeへ到達した時点のページ列を基準にします。
  • 分岐 / 結合: Split Pagesで選択 / 残りに分け、Merge Pagesで2〜6入力を指定した順序で結合できます。
  • 文書加工: Page Numbers、Watermark、Text Stamp。Watermarkのカスタム文字はv1.0.0ではASCII文字に限定されます。
  • Preview: 選択Nodeに必要な上流だけを評価し、1回最大6ページを表示。Splitの選択 / 残り切り替えと拡大表示に対応します。
  • 保存: RecipeはlocalStorageへ処理手順と設定を保存し、Pipeline JSONはNode、Edge、設定、位置、Viewport、出力ファイル名を保持します。元PDF bytesは保存しません。
  • 実行時通信: pdf-libとNode Editor Coreを単一HTMLへ内包し、connect-src 'none'。選択したPDF内容をアプリのサーバーへ送信しません。

制限・注意点

  • Preview表示はブラウザ内蔵のPDF表示機能に依存し、主要対象はChrome / Edgeです。
  • Watermarkのカスタム文字はv1.0.0ではASCII文字に限定され、日本語などのカスタムフォント埋め込みには対応していません。
  • 電子署名付きPDFを加工すると、元の電子署名は無効になる場合があります。
  • ページを再構成するため、しおり、添付ファイル、フォーム、署名、Outlineなどの文書レベル情報を出力PDFへ引き継げない場合があります。
  • 大容量PDFや複雑な分岐を持つPipelineでは、完全ローカル処理のため端末メモリを多く使用します。
  • Recipeはこのブラウザ内の保存です。バックアップ、別端末への移動、Git管理にはPipeline JSONを使用してください。
  • Pipeline JSONやRecipeには元PDF bytesを保存しないため、開き直した場合はPDF Inputを再選択する必要があります。

よくある質問

PDFはサーバーへアップロードされますか?

いいえ。GitHub Pages版では最初のアプリHTML取得は発生しますが、選択したPDF、途中結果Preview、Recipe実行、生成PDFは端末内で処理します。CSPにはconnect-src 'none'を設定し、選択したPDF内容をアプリのサーバーへ送信しません。

RecipeとPipeline JSONは何が違いますか?

Recipeは同じブラウザですぐ処理手順を再利用するための保存です。Pipeline JSONはバックアップ、別端末への移動、Git管理に向いています。どちらにも元PDF bytesは保存されないため、再利用時はPDF Inputを選び直します。

処理の途中結果を確認できますか?

はい。Nodeを選ぶと、そのNodeに必要な上流だけを評価して途中結果Previewを表示します。PDF Outputを選んだ場合は最終の「結果」として表示します。

PDF Organizerとは何が違いますか?

PDF OrganizerはPDF・画像・PowerPointを1つの一覧で並べ替え・削除・結合する単発の整理作業に向いています。PDF Pipeline Builderは複数のPDF処理をノードで順番に組み、RecipeやPipeline JSONとして処理手順そのものを再利用したい場合に向いています。

日本語のウォーターマークを入れられますか?

v1.0.0のWatermarkカスタム文字はASCII文字に限定されています。日本語などのカスタムフォントを埋め込む機能はありません。

オフライン版・ソースコード

GitHubではpdf-libとNode Editor Coreを内包した単一HTML版を生成しています。生成済みdist/index.htmlを直接開けば、PDFの読み込み、Pipeline編集、Preview、Recipe実行、PDF保存までネットワークへ接続しない環境でも利用できます。

GitHubでソースを見る