世界を動かす技術を、日本語で。

HNに表示: Adobe Acrobat PDFビューアの無料代替を作成しました

2025年8月15日原文(github.com)

概要

EmbedPDF はMITライセンスのオープンソースPDFビューア。 ReactやVueなど主要JavaScriptフレームワークで利用可能。 注釈・検索・リダクションなど Adobe Acrobat 並みの機能を無料提供。 完全ブラウザ動作、サーバー不要。 貢献やフィードバックも歓迎。

EmbedPDF:オープンソースJavaScript PDFビューア

  • EmbedPDF は、フレームワーク非依存の MITライセンス PDFビューア
    • React、Vue、Svelte、Preact、バニラJSで利用可能
  • スムーズでモダンな閲覧体験洗練された開発者API を提供
  • 主な機能
    • 注釈機能 (ハイライト、付箋、フリーテキスト、インク描画)
    • 本格的なリダクション (内容を実際に削除)
    • 検索・テキスト選択・ズーム・回転 対応
    • バーチャライズドスクロール による滑らかな操作感
    • プラグインアーキテクチャツリーシェイカブルなプラグイン 対応
  • 完全クライアントサイド動作、サーバー不要
  • SDKは React、Vue、Preact、バニラJS で簡単導入
  • Adobe Acrobat の有料機能を無料で実現することを目指す

ドキュメント・デモ・リソース

  • 公式ドキュメント、インストールガイド、APIリファレンス、サンプル
    • https://www.embedpdf.com
  • ライブデモ(自身のPDFまたはサンプルで試用可能)
    • https://app.embedpdf.com
  • GitHubリポジトリ
    • https://github.com/embedpdf/embed-pdf-viewer

コントリビューションとライセンス

  • 貢献歓迎 :コントリビューションガイドとGitHubディスカッションを参照
  • MITライセンス で提供
  • PDFiumを含み、これは Apache License, Version 2.0 でライセンス

EmbedPDF開発の背景

  • Adobe Acrobat は重く、クローズドかつ高価
  • EmbedPDF は軽量・拡張性・どこでも埋め込める利便性を重視
  • フィードバック、バグ報告、機能要望を広く募集

Hackerたちの意見

いいね!昔、PDFビューアが組み込まれたサイドプロジェクトをやったことがあるんだ。最初のバージョンはpdf.jsを使ったんだけど、ズームインするときに動きがもっさりしてて、ズームの焦点を合わせるのが難しかった。だから、今度はC++でpdfiumを使ってMetalでレンダリングする自分のPDFビューアを作ったよ。これが簡単なデモね: https://youtu.be/jJMhVn5yzEI メモリ使用量とパフォーマンスをバランスさせるためにタイル技術を実装したんだ。pdfiumがWebAssemblyでこんなにパフォーマンスが良いとは思わなかったし、正直言うとC++よりもウェブでUIを開発する方が好きだな。

正直、君のは俺が作ったものよりもさらにサクサク動いてるね。ズームの扱いがすごくスムーズだ。ほんとに素晴らしい仕事だよ!これを見て、また挑戦してみたくなった。

うまく動いてるみたいだね!ちょっと注意点だけど、赤線の赤actionツールをアクティブにしたまま、赤actionからビューに切り替えると、ビューでもそのままアクティブになっちゃう。スクロールできなくなるから、まだ赤actionしちゃうんだ。リフレッシュすれば直るけど。

いい指摘だね、直すよ。モバイルでは、赤actionモードのときにスクロールを無効にして、正確な選択ができるようにしてるんだけど、ビュータブに戻ったら赤actionモードはちゃんと終了するべきだね。指摘してくれてありがとう!

ちょっと試してみたよ。Firefoxでは注釈が全然動かなかったけど、Chromeではすべての注釈タイプ(下線、ハイライトなど)がちゃんと動いたよ。

Firefoxでの注釈テストはまだできてないから、指摘してくれてありがとう。そこで何が起こってるのか確認してみるよ。Chromeではちゃんと動いてるのがわかってよかった。

MITライセンスは寛大だね。いい選択だし、ありがとう!

ありがとう!みんなが使いやすく、調整しやすく、さらにその上に構築できるようにしたかったから、MITがいい選択だと思ったんだ。

基盤となるPDFiumはApache 2.0だけど、今のプロジェクトはその依存関係に関して、https://www.apache.org/licenses/LICENSE-2.0#redistribution に準拠してない気がする。

共有してくれて、ライセンスについてもすごく寛大でありがとう!これってちょっと範囲外かもしれないけど、「フリップブック」ビジュアライゼーションの計画はある?

まだロードマップには入ってないけど、もっと興味ある人が増えたら追加するのも全然アリだよ。

MozillaのPDFビューアがあるのに、なんでこれを作ったのか気になるな。https://github.com/mozilla/pdf.js 批判するつもりはないけど、存在するものを作る理由はたくさんあるから、ただ興味があるだけ。

Hacker Newsで議論の続きを見る