feat: separate AGPL libraries and add dynamic WASM loading

- Add WASM settings page for configuring external AGPL modules
- Implement dynamic loading for PyMuPDF, Ghostscript, and CoherentPDF
- Add Cloudflare Worker proxy for serving WASM files with CORS
- Update all affected tool pages to check WASM availability
- Add showWasmRequiredDialog for missing module configuration

Documentation:
- Update README, licensing.html, and docs to clarify AGPL components
  are not bundled and must be configured separately
- Add WASM-PROXY.md deployment guide with recommended source URLs
- Rename "CPDF" to "CoherentPDF" for consistency
This commit is contained in:
alam00000
2026-01-27 15:26:11 +05:30
parent f6d432eaa7
commit 2c85ca74e9
75 changed files with 9696 additions and 6587 deletions

View File

@@ -191,6 +191,29 @@
</select>
</div>
<div
class="flex items-center gap-3 bg-gray-700/50 p-4 rounded-lg border border-gray-600"
>
<input
type="checkbox"
id="pre-flatten"
class="w-5 h-5 text-indigo-600 bg-gray-700 border-gray-600 rounded focus:ring-indigo-500 focus:ring-2"
/>
<div>
<label
for="pre-flatten"
class="text-sm font-medium text-gray-200 cursor-pointer"
>
Pre-flatten PDF (recommended for complex files)
</label>
<p class="text-xs text-gray-400 mt-1">
Converts the PDF to images first, ensuring better PDF/A
compliance. Recommended if validation fails on the normal
conversion.
</p>
</div>
</div>
<button id="process-btn" class="btn-gradient w-full mt-4">
Convert to PDF/A
</button>