PDF を扱う

Tebako PDF について

PDF の結合・分割・墨消しを、ブラウザの中だけで行う道具です。ファイルはサーバへ送信されません。 このページでは、その仕組みと、それをご自分で確かめる方法を説明します。

仕組み

PDF の読み込み・表示・並べ替え・墨消し・書き出しは、すべてお使いのブラウザの中で行われます。 サーバがしているのは、この画面を作るためのファイルを配ることだけです。

お使いの端末(ブラウザの中)
  1. PDF を選ぶ
  2. ページを読み解いて描くpdf.js
  3. 並べ替える・回す・外す
  4. 墨消しの範囲を決める
  5. 新しい PDF を組み立てるpdf-lib
  6. 保存する

PDF がこの枠から出ることはありません。

画面を作るファイルだけ
(一度きり)
サーバ

HTML・JavaScript・CSS を配るだけ。
ファイルを受け取る窓口がありません。

墨消しについて

黒い四角を上に重ねるだけの墨消しは、消えていません。 下の文字はデータとして残ったままなので、四角を動かしたり、文字をコピーしたり、 別のソフトで開いたりすれば読めてしまいます。情報漏えいの原因としてよく知られたものです。

よくある「見せかけの墨消し」

  • 黒い長方形を上に置いて保存する
    文字データはそのまま残る
  • 文字の色を背景と同じにする
    選択してコピーすれば読める

手箱のやり方

  • そのページを画像として描き直す
  • 指定された範囲を画像の上で黒く塗る
  • 塗った画像でページを丸ごと置き換える
    元の文字データは出力に含まれません

かわりに、墨消しをしたページは画像になります。 そのページでは文字の選択・検索ができなくなり、ファイルも少し大きくなります。 これは避けられない代償です。確実に消すとは、そういうことです。

墨消しをしていないページには手を加えません。文字はそのまま残ります。

ご自分で確かめる方法

書き出したファイルから文字を取り出して、消したはずの文字が無いことを確認できます。

pdftotext 書き出したファイル.pdf - | grep "消したはずの文字"

何も出てこなければ、そのページに文字データは残っていません。

送っていないことの確かめ方

「送っていません」という文章を信じていただく必要はありません。 ブラウザに付いている開発者ツールで、通信をそのまま見ることができます。

  1. 開発者ツールを開く Windows / Linux は F12Ctrl+Shift+I、 Mac は +Option+I
  2. 「ネットワーク」タブを選ぶNetwork と書かれている場合もあります。
  3. 記録を消す丸に斜線のボタン(Clear)を押して、一覧を空にします。
  4. その画面を見たまま、PDF を読み込んで書き出す

見えるはずのもの

  • この画面自身のファイル
    HTML・JavaScript・CSS
  • PDF を開いたときに増えるもの
    PDF を読み解く部品(pdfjs
  • 日本語のページで増える小さなもの
    文字の対応表(cmaps)。同梱したものを読みます
  • 書き出すときに増えるもの
    PDF を組み立てる部品(pdf-lib

見えないはずのもの

  • PDF の送信(POST)
  • ファイル名やページ内容を送る通信
  • 手箱以外の場所への通信

もうひとつの確かめ方

サーバ側にファイルを受け取る窓口が無いことも、外から確かめられます。

curl -i -X POST --data-binary @書類.pdf https://tebako.ncgv.jp/pdf/

405 Method Not Allowed が返ります。読み取り(GET)以外は受け付けません。 本文の大きさも 1 キロバイトまでに制限してあり、PDF が入る余地がありません。

使い方

結合複数の PDF を落とすと、落とした順に1つの並びになります。そのまま書き出せば1つの PDF になります。
分割「1ページずつ別の PDF にする」を選ぶか、ページを選んで「選んだページ」だけを書き出します。
並べ替え各ページの ◀ ▶ で前後に動かします。
回転⟳ で 90 度ずつ回します。墨消しの範囲も一緒に回ります。
不要なページ✕ で一覧から外します。元のファイルには手を加えません。
墨消し「墨消し」を押し、消したいところをなぞって囲みます。いくつでも指定できます。

できないこと・気をつけていただきたいこと

墨消ししたページは画像になります
文字ごと消すための代償です。そのページでは文字の選択・検索ができなくなり、 ファイルも大きくなります。細かい字がある場合は解像度を上げてください。
パスワードのかかった PDF は開けません
お使いのソフトでパスワードを外してからお持ちください。
大きなファイル・多いページは重くなります
ページの絵をすべてブラウザのメモリに載せます。数百ページある PDF では 動作が重くなったり、途中で止まることがあります。
文字の編集はできません
ページの入れ替え・回転・削除・墨消しだけを扱います。 本文の書き換え、注釈の追加、フォームの記入はできません。
しおり・注釈は引き継がれないことがあります
ページそのものは元のまま写しますが、文書全体に付いた情報は引き継がれない場合があります。
作業内容は保存されません
何も預からない代わりに、画面を閉じると編集内容は消えます。 保存が必要なものは、その都度書き出してください。

使っているソフトウェア

ページの表示に pdf.js(Apache-2.0)、PDF の組み立てに pdf-lib(MIT)、 画面の組み立てに Preact(MIT)を、いずれも改変せずに使っています。

ライセンス表示を見る