このページのコードが起動しませんでした。

index.htmlをフォルダから直接開くと、ブラウザがJavaScriptモジュールを読み込めません。そのためPDFを選んでも何も起きません。フォルダはhttpで配信してください。

powershell -ExecutionPolicy Bypass -File serve.ps1

そのうえでhttp://localhost:8080/を開いてください。

PDFをCSVに 銀行明細を含む、すべての表を取り出す

PDFの表を見つけ、表計算で開ける行に変換します。

言語: 日本語
ソースを見る
書類がアップロードされることはありません。サーバーが存在しないからです。

このアドレスから配信したコードが、端末のメモリでPDFを開いて読み、CSVを書きます。アップロード機能も受け取るサーバーもありません。口座番号、残高、送金先、顧客の価格など表の内容はタブにとどまります。

いまの通信: 確認中…

オフライン: 確認中…

開発者ツールのネットワークタブを見ながら変換してください。ページ、行、数字、ファイル名を運ぶリクエストはありません。通信を切って使うことでも確かめられます。

1PDFを選ぶ

2読み取った内容を照合する

PDFは表を持つように見えても、実際は座標に置いた文字を持ち、列は文字のない隙間です。下の表は推定で組み立てました。残高がある場合は、その上に比較が一致したか、確認できない行があるか表示します。一致が確認するのは差引きの変化だけで、打ち消し合う誤りは通る場合があります。

3CSVを保存する

Markdownで表示

PDFの表をCSVに変換する手順

  1. PDFを選びます。1つずつブラウザがディスクから直接読みます。1.240,00か1,240.00か、日付の順序はページではなく書類全体の性質なので、判断前に全ページを読みます。
  2. 見つかった表を見ます。各表に列と、印刷されていれば見出しを付けます。同じ見出しで領域やページをまたぐ表はつなぎ、途中に見出しを繰り返しません。折り返したセルを行へ戻し、合計、小計、ラベルも元の行として残します。
  3. 1つ、またはすべてを選びます。複数の表は上の選択欄ですべてを順に並べるか、1つだけ選べます。残高があれば一致した比較と確認できない行を表示します。年を持つ日付はYYYY-MM-DD、金額は符号付き数値にします。年のない日付は推測せず印刷どおりに残します。
  4. CSVを保存します。RFC 4180の引用符とCRLF改行、BOM付きUTF-8で書くので、Excelでも通貨記号が文字化けしません。全表を入れる場合は各表の見出しを保ち、間に空行を置きます。作るためのアップロードはありません。

詳しい解説

銀行明細をアップロードしても安全か 明細には支払先、金額、残高が1つのファイルに入っています。変換サービスへ渡す情報、慎重な事業者の扱い方、アップロードが本当に必要かを確認する方法を説明します。

よくある質問

表を保存していないPDFからどう見つけますか?

文字の位置から推定します。セルの基線が正確に揃う表と、横に偶然並ぶ小さい文字を区別してページを分けます。上から見出しや隙間でブロックを分け、複数行でセルの始まりや終わりが一致する位置を列にします。同じ列のブロックをつなぎます。銀行や書式別のテンプレートは不要です。

銀行明細だけですか?

いいえ。明細向けに始まりましたが、実際の明細には取引以外にも表があったため、すべての表を見つけるよう作り直しました。請求書、価格表、時刻表、結果、レポートにも使えます。明細に残高があれば、読める残高間の差引きを比較します。

説明文が列から折り返していたらどうなりますか?

近くの行のセルへつなぎます。1つの文字セルだけの行は続きとみなし、下の行に近ければそちらへつなぐので、値の上に長いラベルがある場合にも対応します。複数セルや数字を持つ行は独立した行です。

残高の確認から何が分かりますか?

2つの読める残高間の金額の合計を残高変化と比較し、一致数を表示します。同じ計算で見出しに頼らず金額・残高列も推定します。最初の残高より前、最後より後、金額が欠ける区間など確認できない行を示します。使わない借方・貸方の空欄は0、読めない値は0にしません。打ち消し合う誤り、説明、日付は確認できないので、利用前にPDFと照合してください。

03/04は3月4日なのに4月3日になりました。

表の上の設定を変えるとすぐ更新します。地域ではなく書類から判断し、12を超える日があれば全体の順序が決まります。すべて12日以前なら判別できないことを伝え、指定がなければ日を先にします。年のない日付は元のままです。

スキャンしたPDFにも使えますか?

使えず、そのことを伝えます。スキャンには画素だけで並べる文字がありません。別の方法を案内し、明細ならまず銀行からCSV、OFX、QIFを直接取得することを勧めます。変換が不要で、画像の読み取りより正確です。

パスワード付きPDFを開けますか?

ここでは意図して開きません。銀行の明細は生年月日や口座番号末尾で保護されることがあります。最も元の文字の位置を保てるのは、同じブラウザのPDF保護解除ツールです。ChromeやEdgeでPDFに印刷、Macのプレビューから書き出す方法も使えます。ほかのサイトでの解除は明細のアップロードになるので避けてください。

PDFは送信されますか?

いいえ。ブラウザと端末でファイルを読みCSVを書きます。サーバーはなく、Content-Security-Policyの接続先にこのサイト自身のものはありません。通信を切って変換することでも確かめられます。

CSVの先頭に変な文字があるのはなぜですか?

意図したBOMです。WindowsのExcelはBOMのないCSVを旧来のコードページで読むため、通貨記号が文字化けする場合があります。UTF-8を示すBOMを通常のソフトは無視しますが、厳密なパーサーでは最初の見出しに見えない文字が付く場合があります。

容量制限や料金はありますか?

ツール自体に上限はありません。読み込み中は書類をメモリに保持し、ノートパソコンは通常数百ページを扱えます。無料で、アカウント、ログイン、お試し期間はなく、広告にも書類の情報は渡しません。

オフラインでも動きますか?

はい。一度開いて通信を切っても動きます。書類を別の場所へ送って変換するツールなら止まるので、送信しないことの確認になります。