PDFテキスト修正
印字された文字を書き換えて内蔵フォントで再描画
ファイルはこのブラウザ内でのみ処理されます。サーバーにはアップロードされません。
ページの文字を選んで内容を変え、内蔵フォントで描き直す
パスワード付きのPDFです。
別のツールで続ける
処理しています…
すべての処理はこのブラウザ内で行われます。ファイルがサーバーに送信されることはありません。
ダウンロードするファイルの準備ができました
この結果で編集を続ける
ページプレビューを開く
設定を変えると前の結果は隠れます。もう一度作成して最新の設定で保存してください。
暗号化されたPDFは先にパスワードを解除してください。ページの内容を中心に処理するため、しおり・添付・フォーム・署名の保持は保証されません。原本を保管し、結果をご確認ください。
処理中…
0.0
停止していません。計算が終わると結果が表示されます。
PDFテキスト修正について
ワープロなら1文字直すと後ろの文字が自動で詰まりますが、PDFにはその仕組みがありません。ページ上の文字は「この座標に、このフォントで、このグリフを描け」という描画命令として保存されていて、文・行・段落という単位は表示ソフトが座標から推測しているだけです。そのためPDFの文字修正は、実際には「元の絵を隠して新しい絵を載せる」作業になります。
このツールもその方式です。クリックした文字のかたまりの位置と大きさをPDF.jsで読み取り、その枠を背景色の四角で覆ってから、新しい文を内蔵フォントで描きます。元のグリフはファイルから消さないので、結果のPDFでコピーや検索をすると古い文言が引っかかることがあります。
元のフォントを使い回せない理由:サブセットフォント
PDFを作るソフトは、ファイルを小さくするために、文書で実際に使った文字だけをフォントから切り出して埋め込みます。これをサブセットと呼び、PDF規格(ISO 32000-1 の9.6.4)はそうしたフォント名の先頭に「ABCDEF+」のような大文字6文字とプラス記号を付けるよう定めています。文書のプロパティでこういう名前が見えたらサブセットです。
日本語ではこれが大きな壁になります。常用漢字だけで2,136字あり、見積書1枚に出てくる漢字はそのごく一部です。「佐藤」を「齋藤」に直そうとしても、文書のどこにも「齋」がなければ、埋め込まれたフォントにはその字形自体が入っていません。さらに多くのPDFは文字をUnicodeではなくフォント内部の番号(CID)で記録しているため、既存の文字でも番号を合わせて書き直すのは簡単ではありません。
そこでこのツールは元フォントを再利用せず、Noto Sans JP・Noto Sans KR、またはPDF標準フォント(Helvetica、Times、Courier)で描き直します。明朝体の本文にゴシック体が混ざると拡大したときに分かるので、日付・金額・名前のような短い修正向きです。
選んだフォントにない文字を入れたとき
標準14フォントはWinAnsiという西欧文字の表しか描けません。Helveticaを選んだまま日本語を入力すると、その修正項目だけ自動でNoto Sans JPに、ハングルならNoto Sans KRに切り替わります(編集リストに実際に使うフォントが表示されます)。このサイトのNoto Sans KRには仮名も漢字も入っておらず、Noto Sans JPにはハングルがないため、Noto Sans KRを選んだまま日本語だけを入力した場合のように、選んだフォントでまったく描けないときはもう一方に切り替えます。ハングルと漢字が混ざった文は選んだフォントで描くので、漢字が欠けることがあります。
Notoフォントでも幅を測れない文字(絵文字や一部の記号)が混ざっていると、空白のまま描くのではなく「描けない文字がある」というエラーで止まります。追加するフォントも使った文字だけのサブセットで埋め込むので、数か所直しただけでファイルが数MB増えることはありません。
枠より長い文を入れると
PDFには折り返しの情報がないので、新しい文が元の枠より長いと、文字サイズを元の半分まで縮めて枠に収めます。半分でもはみ出す場合はそのサイズで描いて警告を出します。右側の文字や罫線と重なることがあるので、文を短くするほうが確実です。入力した改行は空白に置き換えられ、1行で描かれます。
字間調整の関係で、1つの語句が複数のかたまりに分かれて保存されているPDFもよくあります。「令和7年3月」が「令和7年」と「3月」に分かれていると、クリックした範囲が思ったより短くなります。その場合はそれぞれを直します。
覆って描き直す方式でできないこと
- 個人情報の削除:元の文字データが残り、コピーや検索で出てきます。消す必要があるなら墨消し(リダクション)で内容自体を削除してください。
- スキャンPDF:文字が画像なので、クリックしてもかたまりを拾えません。
- 模様やグラデーションの背景:覆いは単色なので境目が見えます。
- 電子署名付きPDF:内容を変えると署名の検証が通らなくなります。
例
見積書の日付を1行直す
- 入力
元「2025年3月12日」(11pt)、新「2025年4月2日」、フォントはHelveticaを選択- 結果
日本語を含むためNoto Sans JPに自動切替、11ptのまま枠内に収まる
新しい文は元より1文字短いのでサイズ調整は不要です。覆う色は枠の周囲のピクセルから自動で取るので、グレーのセルならその色で覆われます。
長い名前に変えたときの文字サイズ
- 入力
幅60ptの枠、10ptで新しい文の幅が80pt- 結果
10 × 60 ÷ 80 = 7.5ptに縮めて描く
文字幅はサイズに比例するので比率でそのまま求まります。幅120ptなら5ptが必要で、下限(元の半分)と同じなのでぎりぎり収まり、それ以上長いとはみ出しの警告が付きます。
使い方
- PDFを開き、プレビューで直したい文字をクリックします。
- 新しい文を入力し、サイズ・フォント・色・覆う色を確認します。
- 重なりや切れがないかプレビューで見てから保存します。
よくある質問
修正後のPDFで古い文字が検索に出るのは正常ですか?
はい。元のグリフを消さずに覆っているためです。訂正には問題ありませんが、隠すべき情報には使わないでください。
元と同じ明朝体で直せますか?
英字用のTimesはありますが、日本語の明朝体はありません。元のフォントはサブセットで新しい字を描けないため再利用しません。
複数箇所をまとめて直せますか?
はい。複数ページの修正をリストに溜めて一度に保存できます。日本語フォントは文書ごとに1回だけ埋め込まれます。
スキャンした書類も直せますか?
できません。文字が画像なので、画像編集かOCR後の作り直しが必要です。
出典
- ISO 32000-1:2008 (PDF 1.7) — Adobe public copy
- pdf-lib — PDFDocument.embedFont
- PDF.js — getTextContent API
基準日: