Files
2026-09-21 13:41:40 +09:00

7.3 KiB

10 参考資料

確認日: 2026-09-19

一次資料を用いて API、機能、ライセンス表記、サポート条件を確認した。Web 上の最新資料は変更されるため、実装開始時には採用版に対応した資料・ソースコミットも固定する。以下の資料は設計の根拠であり、本アプリケーションの描画品質、性能、ライセンス適合性を実証するものではない。

1. PDF と技術選定

ID 資料 本設計で確認した事項
S01 PDFium README Linux / Windows のビルド経路、JavaScript / XFA のビルド選択、公開 API の範囲、ピクセル試験の存在
S02 PDFium fpdfview.h 公開 C API、読込と描画、API が thread-safe ではないこと
S03 PDFium fpdf_structtree.h ページの構造ツリー、要素型、子要素、MCID の取得。一部 API が Experimental であること
S04 PDFium fpdf_edit.h ページオブジェクトの読取、MCID と境界情報へのアクセス。ファイル名に edit を含むが、読取 API の参照に使う
S05 PDFium LICENSE PDFium のライセンス本文。依存部品の条件を含めて確認する起点
S06 Qt PDF Qt PDF の描画、ビューア、目次、リンク、検索等の機能
S07 QPdfDocument 読込、描画、ページラベル、テキスト、エラーの公開 API。構造タグ API の有無を評価する対象
S08 Qt PDF Licensing Qt PDF の商用 / LGPLv3 / GPLv2 表記と、PDFium スナップショット・第三者ライセンス
S09 PDF.js 公式サイト PDF.js の位置づけと Apache 2.0 の表記
S10 PDF.js FAQ ブラウザ環境による対応差、Worker と本体のバージョン整合、可視ページを優先するメモリ上の考え方
S11 Electron Security Node.js 能力の分離、context isolation、sandbox、IPC 検証、依存更新の必要性
S12 Electron Releases 直近三つの stable major release というサポート方針と更新周期
S13 What is MuPDF? PDF 等の閲覧・変換・操作のためのライブラリとツールという位置づけ
S14 MuPDF License AGPL または商用ライセンスという提供形態

2. Qt WebEngine と配布

ID 資料 本設計で確認した事項
S15 QWebEngineSettings MainWorld の JavaScript、ローカルファイル/外部 URL、DNS prefetch、内蔵 PDF ビューア等の設定
S16 Qt WebEngine Platform Notes Chromium renderer の sandbox、Linux の実行条件、C++20、Windows ビルド制約、静的ビルド非対応
S17 Qt WebEngine Licensing Qt 部分と Chromium 側の両方の条件が関係すること、第三者ライセンスの一覧
S18 Deploying Qt WebEngine Applications 補助プロセス、リソース、翻訳等を含む配布の検討事項
S19 Qt Supported Platforms Windows 11 / Ubuntu 24.04 の掲載、版ごとのサポート条件、モジュール固有の例外

3. 文書形式・隔離・保存

ID 資料 本設計で確認した事項
S20 PDFium fpdf_formfill.h フォーム環境とwidget描画。通常ページ描画との違い
S21 EPUB 3.3 package、spine、nav、rendition、font難読化
S22 EPUB Reading Systems 3.3 rootfile、XML処理、スクリプトfallback、ローカル参照の制約
S23 EPUB CFI 1.1 文書の論理位置表現
S24 QWebEngineScript ApplicationWorld、DOMアクセスと変数の分離
S25 WebEngineView runJavaScriptのworld、ナビゲーション・権限の通知
S26 QWebEngineUrlScheme Host構文によるoriginとscheme権限
S27 QWebEngineUrlSchemeHandler 文書資源の応答
S28 QWebEngineUrlRequestJob Qt 6.6以降の追加応答ヘッダー
S29 QWebEngineUrlRequestInterceptor 要求の事前検査
S30 QQuickWebEngineProfile 文書ごとのprofileとhandler
S31 Linux Landlock OSアクセス制限とABIによる機能差
S32 Windows AppContainer 制限されたプロセス環境の構成
S33 OWASP Archive Testing 不正アーカイブの試験観点
S34 OWASP File Upload Cheat Sheet 解凍後サイズの制限
S35 XDG Base Directory 設定・状態・キャッシュの配置と既定値
S36 QStandardPaths OS別保存経路、AppConfigLocationとAppDataLocationの差
S37 Windows Known Folders RoamingAppDataとLocalAppData

4. 参照の読み方

  • 資料の事実: 公開 API の存在、スレッド安全性の注意、ライセンス表記、サポート対象等。上表に対応する一次資料で確認する。
  • 設計判断: Qt Quick と直接 PDFium の組合せ、ワーカー分離、初期 OS、PDF 描画ルートの一本化等。技術選定・設計判断 の ADR に記録する。
  • 未検証事項: 対象書籍の描画互換性、特殊な構造見出しの座標、実機性能、OS 別 sandbox、最終配布物。公式資料に機能があることだけで合格とせず、受入試験で確認する。