# Cloudflare Pagesへの公開

## Direct Upload

1. Cloudflareへサインインし、Dashboardの **Workers & Pages** を開きます。
2. **Create application** → **Pages** → **Direct Upload** を選びます。
3. プロジェクト名を決め、`cloudflare-pages-upload.zip` をアップロードして **Deploy site** を選びます。
4. 発行された `*.pages.dev` のURLを共有すると、他の人もアクセスできます。

このZIPはビルド不要の静的サイトです。更新時は新しいZIPをDirect Uploadで再デプロイします。Cloudflareの公式手順は https://developers.cloudflare.com/pages/get-started/direct-upload/ を参照してください。

## このサイトの処理と通信

- PDF本文・OCR本文・翻訳本文は閲覧者のブラウザー内で処理します。アプリのホスト先にはアップロードしません。
- ローカルで選んだPDFはPDF.jsの範囲読み込みで必要な部分を順次読み込み、ページ画像も1ページずつ処理します。
- 初回表示時、外部CDNからPDF.js、PaddleOCR.js、Wllama等の実行コードとOCRモデルを取得し、Hugging FaceからPLaMo GGUFモデルを取得します。
- Cloudflare Pagesの `_headers` でWebAssemblyのマルチスレッド実行に必要な分離ヘッダーを設定しています。
- ブラウザーやネットワーク設定によっては、外部CDNやHugging Faceからのダウンロードが制限されることがあります。

## 容量

ページ配信自体はCloudflare PagesのFreeプランで利用できます。各利用者が取得する翻訳モデルは別途Hugging Faceからダウンロードされ、サイトのZIPには含めていません。
