My PDF 2 MD について
最終確認
My PDF 2 MD は、PDF文書をアップロードすることなく Markdown に変換します。このページでは、誰が運営しているのか、変換がどう動くのか、どこで失敗するのか、そしてファイルを一切受け取らない無料ツールがどう成り立っているのかを説明します。
運営者
My PDF 2 MD は、Kozhikode, Kerala, Indiaを拠点とする独立系ソフトウェアプロジェクト MyPDF2MD.com が開発・運営しています。ベンチャー資金は入っておらず、文書処理APIの代理窓口でもなく、変換された内容を転売することもありません。
運営は少人数のチームです。chatbot の裏に問い合わせ窓口を隠してはいません。メールは人に届きます。一般的なご質問は support@mypdf2md.com、個人データに関することは privacy@mypdf2md.com へお願いします。いずれも5営業日以内に返信します。メールを使いたくない場合は、お問い合わせページにフォームがあります。
なぜ作ったか
ウェブ上のPDF→Markdown変換ツールは、ほとんどが同じ仕組みです。素性の分からないサーバーへ文書を送信し、そこで処理させ、その後どう扱われたかについてはプライバシーポリシーの一文を信じるよう求められます。飲食店のメニューなら構いません。しかし署名済みの契約書、診断書、取締役会の議事録、未公開の原稿では、事情を理解したうえで進んで受け入れる取引ではありません。
この取引を避ける技術は、何年も前からブラウザに入っています。Mozilla のPDFエンジンである PDF.js はページ内で動作し、文書のどの部分もネットワークへ出すことなく読み取れます。足りなかったのは能力ではなく、その能力を中心に据えたツールでした。ですから本ツールは既定でお使いの端末上で変換し、トップページのプライバシーに関する記述は、私たちの姿勢の約束ではなく構造の説明です。
この判断には代償があります。はっきり書きます。ブラウザのタブはサーバーよりメモリもCPUも小さいため、非常に長い文書や複雑な文書の変換は、ホスト型サービスより時間がかかります。それでも、人が本当に心配する種類の文書にとっては、これが正しい取引だと考えています。
変換の実際の仕組み
多くの変換ツールが「魔法」で済ませる部分ですが、ここを理解すると、このツールが犯す間違いの理由がそのまま分かります。
PDFには見出しも段落もリストも表も入っていません。入っているのは座標に置かれた字形だけです。ワープロがPDFを書き出すとき、元文書の意味構造 — この行は見出しレベル2、この数行は1つの段落、これらのセルは表 — は捨てられ、紙面に印を描く命令に置き換わります。PDFをMarkdownに変換するとは、その構造を幾何情報から推測し直すことであり、推測は抽出ではありません。
変換器はまず本文の文字高を求めます。文書内で最も頻度の高いフォント高を、その大きさで組まれた文字数で重み付けして決めます。以降はすべてこの単位の倍数で測るため、文書が9ptで組まれていても14ptで組まれていても結果は変わりません。
そこから先の規則は幾何的です。ベースラインの差が本文高のおよそ3分の1以内なら同一行。行間が本文高の1.5倍以内で連続する行は同一段落。本文よりはっきり大きい行 — おおむね1.2倍以上 — は見出しで、どれだけ大きいかでH1・H2・H3のいずれかが決まります。少なくとも2つの共通するx座標で揃った行が2行以上続けば表とみなします。ページ中央付近の縦の余白は段組みの区切りとして扱い、読み順が左右に飛ばないようにします。ページごとに同じ位置で繰り返されるヘッダーとフッターは検出して取り除きます。
行内の装飾は推測ではなくフォント自体から読み取ります。太字と斜体はフォントのウェイトと傾きから、等幅の部分は code になります。PDFに埋め込まれたリンクは Markdown のリンクとして保持されます。
失敗する場合
構造は推測である以上、失敗の仕方は予測できます。大事な文書で気づくより先に、列挙しておきます。
- 文字サイズを変えず太さだけで見出しを表している文書では、見出し検出の手がかりがありません。そうした見出しは通常の段落として出力されます。
- セル結合のある表、入れ子の表、内容が複数行に折り返すセルは整列が崩れます。列の検出はx座標で行うため、結合されたセルが格子を壊すからです。
- 単純な2段組みより複雑な多段レイアウト — 引用ボックスやサイドバーのある雑誌ページなど — では読み順が乱れることがあります。
- 数式は LaTeX に変換しません。文字として組まれた数式は構成文字のまま出力され、画像として貼られた数式はまったく出力されません。
- 画像は抽出しません。出力されるのはテキストと構造です。
- スキャン文書には選択可能なテキストが存在しないため、ブラウザ内変換では何も得られません。この場合は後述の任意の文字認識で個別に扱います。
端末の外に出る唯一のもの
スキャンはページの写真です。読み取るべきテキストがそもそも入っていないため、ブラウザ内でいくら解析しても何も出てきません。読むには光学文字認識が必要で、それにはブラウザのタブが用意できる範囲をはるかに超える計算資源がかかります。
この場合に限り、当社のサーバーで文書を認識するよう依頼できます。自動では決して行いません。選択可能なテキストがないことをツールが検出し、その旨を伝え、確認を要する選択肢として文字認識を提示します。何かが送信される前に、送信するページ数、送信先、保持期間をダイアログで示します。
認識は当社自身の設備と自社エンジンで実行します。ファイルは処理中のみメモリ上に保持され、終了時に破棄します。ディスクへの書き込みはなく、第三者へ渡ることもありません。残すのは利用記録 — ページ数、日時、認識言語、そしてアカウントIDまたはIPアドレスのsalted hash — のみで、1日あたりの上限の適用と不正利用の検知のために存在し、文書の内容は一切含まず、30日後に削除します。
認識結果は転記ではなく推定です。特に氏名・数字・日付・整理番号で文字を読み違え、読めなかった語は印を付けずに脱落します。結果にはその旨を示す表示が付き、エンジン自身の信頼度スコアと、確度の低かったページの一覧が添えられます。手書き文字は読めず、数式も変換しません。
無料のツールをどう成り立たせているか
ウェブ版の変換ツールは無料で、登録も不要で、広告が表示されます。あとから気づかれるより先に書いておくのが誠実だと考えます。つまり、このサイトは広告で収益を得ており、あなたの文書では収益を得ていません。
そもそも得られません。これは信じてくださいとお願いする方針ではなく、構造上そうなっているということです。ブラウザ内で変換されたファイルは当社に届きません。アップロードが存在しない以上、解析にも学習にも売却にも使えるPDFの蓄積がここにはありません。
広告は同意の後にのみ読み込まれます。Cookieバナーで広告カテゴリを拒否すれば、広告スクリプトは1つも読み込まれません。表示数が減るのではなく、ゼロです。アクセス解析も同じです。どちらのカテゴリも、有効にするまで停止しています。フッターには後から設定を変えるためのリンクがあります。
このサイトのどのページも支払いを求めることはありません。購入するものも、上位プランも、作成するアカウントもありません。
行わないこと
- ブラウザ内で変換された文書をアップロードすることはありません。それを行えるコード経路が存在しません。
- ウェブ版の利用にあたり、アカウント・メールアドレス・ログインのいずれも求めません。
- 文書および変換結果を保存・索引化・学習利用・販売することはありません。
- 該当カテゴリへの同意前に、広告およびアクセス解析を読み込むことはありません。
- 変換した文書や、お手元に渡る Markdown に対して、いかなる権利も主張しません。
技術構成
安心を促す言葉よりも、具体的な仕様を知りたい方へ:
| PDF解析 | PDF.js(ブラウザ内の Web Worker で実行) |
|---|---|
| 構造検出 | 配置済みテキスト片を扱う独自の空間レイアウト解析 |
| 出力形式 | GitHub Flavored Markdown(pipe形式の表を含む) |
| アプリケーション | Next.js(App Router)、React、TypeScript |
| 対応言語 | 10言語、アラビア語の右から左への表示に対応 |
| 最大ファイルサイズ | 50 MB |
| 料金 | 無料・広告収益・アカウント不要 |
| 運営 | MyPDF2MD.com(Kozhikode, Kerala, India) |
訂正について
このサイトに誤りがあれば — ガイドの事実誤認、説明していない形で失敗する変換、このページの記述と実際の挙動の食い違いなど — support@mypdf2md.com までお知らせください。修正し、何を変えたかを明記します。ページ上部の日付は、この内容を製品と照合して最後に確認した日です。