日本語 | English
Excelで作ったXLSX帳票を、PDF上で記入できるフォームとして使うアプリです。XLSXから生成したPDFプレビューに入力位置を合わせることで、紙の帳票へ書き込む感覚で操作できます。管理する帳票原本はXLSXだけ。入力欄と位置合わせの設定はアプリが保存し、記入結果をXLSX・PDFで出力します。
PDF 上の入力欄と右側のフォーム、どちらからでも同じ内容を編集できます。PDF 用の入力テンプレートを別に管理する必要はありません。
- XLSX を読み込む。 Excel で作った帳票を PDF プレビューとして表示します。タイトルや固定文言は、原本のまま使います。
- 記入する枠だけを設定する。 作業日、担当者、作業内容などの枠に名前と入力形式を付けます。タイトルのような固定文字に、別の名前を付け直す必要はありません。2 点位置合わせには、入力欄にしない枠や文字のない空欄も使えます。
- PDF 上でも、右側でも記入する。 PDF の上に重ねた入力欄をクリックして編集します。右側のフォームも同じ記入データにつながっているので、変更はすぐにもう一方へ反映されます。署名欄を押すと手書き用の画面が開きます。
- 上部のボタンから出力する。 入力内容を保存してから、原本のコピーへ値・署名を書き込んだ XLSX を生成します。PDF 出力は、その記入済み XLSX をデスクトップ版 Excel で変換します。
画面の PDF は帳票の背景です。PDF ファイルの文字を直接書き換える仕組みではなく、設定した入力欄と記入データを重ねて表示します。元の XLSX は上書きしません。
「右の入力パネルを隠す」を押すと、PDF 上の入力だけで作業できます。パネルを再表示しても入力内容はそのままです。保存状態と XLSX・PDF のダウンロードは、どちらの表示でも上部から使えます。
画像は同梱の架空帳票 example.xlsx を使った実画面です。担当者名・作業内容は説明用のサンプルで、利用者の帳票や記入内容は使用していません。
- XLSX 上の範囲を選び、日付、数値、1 行テキスト、複数行テキスト、チェック、署名の入力欄として設定
- 2 点位置合わせとテスト記入で、入力値と帳票プレビューの対応を確認
- PDF 上と右側フォームの両方から記入でき、変更を即座に同期。右側フォームは表示・非表示を切り替え可能
- 入力内容をローカルへ自動保存し、元のテンプレートを上書きせずに XLSX を生成
- 同じ記入内容から、デスクトップ版 Microsoft Excel を使って PDF を生成
- Windows 向けに、Node.js と .NET Runtime の追加インストールが不要なローカル配布物を作成
ソースからの実行は Windows Git Bash または WSL2 を対象とします。初期プレビューの生成と PDF 出力には、Windows 側にインストールされたデスクトップ版 Microsoft Excel と PowerShell が必要です。依存関係のインストールとビルドには Node.js を使用します。
動作確認済みの環境は次のとおりです。
- Windows 11 Pro 10.0.26200(Build 26200): Node.js 22.16.0、.NET SDK 8.0.424、Excel EXE 16.0.20326.20132(エディションは未確認)
- WSL2: Linux kernel 6.18.33.2、Node.js 24.18.0。Windows 側の Excel を呼び出して確認
取得済みソースの親ディレクトリから、Git Bash または WSL2 で次の 5 コマンドを実行します。
cd pdf-input-from-excel
npm ci
npm run build --workspace=frontend
npm run build --workspace=backend
STATIC_DIR=frontend/dist node backend/dist/server.js起動後、ブラウザで http://localhost:3211 を開きます。初回起動では同梱の example/example.xlsx が作業用領域へコピーされ、元ファイルは変更されません。
初回設定から XLSX/PDF 出力までの操作は Getting Started を参照してください。Windows 向け配布物の作成と起動は Windows ローカル版 に記載しています。
- v0.1 は単一テンプレート、単一の記入データを扱います。複数帳票の一覧、履歴、認証、クラウド保存、LAN 共有には対応していません。
- 初期プレビューと PDF 出力はデスクトップ版 Microsoft Excel に依存します。Linux ネイティブと macOS は未対応です。
- XLSX 出力は利用できますが、Excel を利用できない環境では初回プレビューと PDF 出力を完了できません。
npm audit --omit=devは現在 2 high、2 moderate を報告します。対象はxlsx(prototype pollution / ReDoS)、pdfjs-dist(enableScriptingを有効にして悪意ある PDF を開く場合のスクリプト実行)、およびexceljs経由のuuid(v3/v5/v6 のバッファ境界検査)です。v0.1 は利用者が選んだローカルファイルを扱う前提ですが、これを脆弱性が悪用されないことの保証とはしません。
このプロジェクトは Apache License 2.0 で提供します。

