メインコンテンツへスキップ

PDF正規化

回転情報(Rotate)が設定されたスキャンPDFを正規化します。見た目どおりの向きでPDFを保存でき、マークアップツールとの互換性も向上します。処理はブラウザ内のみで完結し、データはサーバーに送信されません。

PDFをドロップ、またはクリックして選択

対応形式: application/pdf,.pdf · 最大サイズ: 100MB

使い方

  1. 回転情報が付いたスキャンPDFをドラッグ&ドロップ

  2. 見た目どおりの向きに正規化

  3. 正規化したPDFをダウンロード

スキャンしたPDFを開くと正しい向きで表示されるのに、別のアプリで開いたら横倒しになっていた。あるいは、ビューアで回転させて保存したはずなのに、送った相手のところでは元の向きに戻っていた。この種の食い違いは、PDFが「ページの中身」と「表示するときに何度回すか」を別々に持っていることから生まれます。

PDF正規化は、この分離を解消するツールです。ページに付いている回転の指示を、ページの中身そのものに焼き込み、指示自体は消します。結果として、どのアプリで開いても、どう処理しても、見た目どおりの向きが実体になります。処理はすべてブラウザ内で完結します。

回転情報という仕組みと、そこから起きる問題

見た目の向きと、実体の向きが違う

PDFの各ページは、内容とは別に「表示するとき90度回してください」といった指示を持つことができます。スキャナーが用紙の向きを検知して付けたり、ビューアで回転して保存したときに付いたりするものです。ビューアはこの指示に従って回してから表示するので、画面上は正しく見えます。

問題は、この指示を読まない処理や、読み方が違う処理に渡したときに現れます。ページの中身自体は回っていないので、指示を無視すればそのまま横倒しで扱われます。同じPDFがアプリによって違う向きで表示される、という現象の正体はこれです。

編集ツールで座標がずれる

実害が最も分かりやすく出るのは、ページの上に何かを描く操作です。黒塗りやスタンプを置くとき、画面に表示されている位置と、PDFの内部座標系での位置が回転のぶんだけずれます。塗ったはずの場所と実際に塗られる場所が食い違う、という形で現れます。

正規化を通しておくと、画面上の位置と内部の座標が一致するため、この種のずれが起きなくなります。マークアップの前処理として使うのが、このツールの最も実用的な用途です。

内部で何をしているか

変換行列を先頭に差し込んで、回転を中身に埋め込む

ページの描画命令の先頭に、回転と同じ効果を持つ変換行列を1つ差し込みます。90度なら90度ぶん、180度なら180度ぶん、座標系そのものを回す指示です。既存の描画命令はこの変換の内側に入るよう、状態の保存と復元で挟み込みます。そのうえでページの寸法を回転後の縦横に更新し、最後に回転の指示を0に戻します。

つまり「回してから表示してください」という外付けの注釈を、「最初から回った状態で描く」という中身に置き換えているわけです。表示結果は変わらないまま、指示に依存しなくなります。

画像化しないので、中身は一切劣化しない

この方式の要点は、ページを画像に描き直していないことです。文字は文字のまま、図形は図形のまま、埋め込まれた画像は元の画像のまま残ります。したがってテキストは選択も検索もでき、拡大しても輪郭が崩れません。埋め込みフォントもそのままです。

ファイルサイズへの影響もほぼありません。追加されるのは変換行列と状態の保存・復元だけなので、1ページあたり数十バイト程度です。「向きを直したらファイルが数倍に膨らんだ」「文字が選べなくなった」という、ページを画像化する方式の副作用はここでは起きません。

回転の指示が付いているページだけが対象になり、もともと0度のページには何もしません。処理後は、何ページを正規化して何ページをそのままにしたかが表示されます。

テキストの有無に関係なく処理できる

以前はページを画像として描き直す方式だったため、テキストを含むページは劣化を避けるために対象から外す必要がありました。現在の実装は構造を直接操作するので、その制限はありません。テキストが多いページでも、図版だけのページでも、90度・180度・270度のいずれでも同じように処理できます。

できること・できないこと

向きを変えるツールではない

正規化は見た目の向きを変えません。今そう見えている状態を、そのまま実体にする処理です。横倒しに見えているPDFを正しい向きにしたい場合は、まずページ整理で回転させてから正規化するか、あるいは回転させた結果を保存すれば足ります。

つまりこのツールが解決するのは「向きが正しくない」問題ではなく、「向きが正しく見えているのに、他の処理でそうならない」問題です。この区別が付いていないと、期待した結果になりません。

対象は90度単位の回転指示

扱うのはPDFの仕様で定められた90度・180度・270度の回転指示です。0度のページや、規格外の値が入ったページには何もしません。また、ページの中身が最初から斜めにスキャンされている場合、それは回転指示ではなく画像そのものの傾きなので、このツールの対象外です。

1ファイルあたり100MBまでを想定しています。ページ数が多いPDFでも、画像化を伴わないため処理は比較的短時間で終わります。

いつ通しておくか

スキャンしたPDFを扱い始める前に一度通す

複合機やスキャナーアプリから出てきたPDFは、回転指示が付いていることが珍しくありません。これから黒塗りをする、スタンプを押す、ページを抜き出して結合する、といった作業を予定しているなら、最初に一度正規化を通しておくと、後段で向きや座標の食い違いに悩まされずに済みます。

正規化しても中身は劣化せずサイズもほぼ変わらないため、「念のため通しておく」ことの費用がほぼゼロだという点も、前処理として置きやすい理由です。

仕様と制限

対応形式
PDF(application/pdf)
サイズ上限
1ファイルあたり100MB
対象
90度・180度・270度の回転指示を持つページのみ
処理方式
変換行列を描画命令に差し込み、回転指示を0に戻す
画質
画像化しない。文字・図形・埋め込み画像は無変更
テキスト
選択・検索できる状態のまま維持
サイズ変化
1ページあたり数十バイト程度の増加
見た目
変わらない(向きを変えるツールではない)
処理結果
正規化したページ数とスキップしたページ数を表示
通信
ファイルの送信なし。処理はすべてブラウザ内

よくある質問

どんなときに使いますか?
スキャンPDFをマークアップしようとすると向きがずれる、といった回転情報(Rotate)起因の不具合を解消したいときに使います。

このツールを使うシーン

他のツールと組み合わせた具体的な手順を、目的別のガイドにまとめています。