ggbro Plugins

PDF Studio

com.ggbro.plugin.pdf-studio · v1.0.1 · ui.panel, ui.toast, ui.sound, storage

Advanced PDF viewer & editor — annotate, organize pages, compress, watermark, passwords, forms. Open PDFs from chat or Apps.

This is NOT the full app source. plugin.js below is only the sandboxed Settings / Apps companion (~help text + open button).

Full PDF viewer/editor (annotate, organize, compress, etc.) is built into the desktop renderer — not this sandbox pack.

Desktop host modules (shipped inside ggbro, not this zip):

Sandbox packs cannot run Electron, yt-dlp, or pdf.js — that is why the real UI stays in the host. Install the pack → Apps grid to use the full feature.

manifest.json

Raw
{
  "id": "com.ggbro.plugin.pdf-studio",
  "name": "PDF Studio",
  "version": "1.0.1",
  "author": "ggbro",
  "description": "Advanced PDF viewer & editor — annotate, organize pages, compress, watermark, passwords, forms. Open PDFs from chat or Apps.",
  "main": "plugin.js",
  "permissions": ["ui.panel", "ui.toast", "ui.sound", "storage"]
}

plugin.js

Raw
/**
 * PDF Studio — companion stub.
 * Viewer/editor UI lives in the desktop host (PdfStudioModal).
 */
(async function () {
  try {
    ggbro.log('pdf-studio companion ready');
  } catch (e) {
    ggbro.log('pdf-studio init', e && e.message);
  }
})();

README.md

Raw
# PDF Studio (official)

**This pack is NOT the full PDF editor.** `plugin.js` is the Settings / Apps companion only.
The viewer, annotations, compress, organize, etc. ship in the **desktop host** (cannot run pdf.js / Electron APIs inside the sandbox iframe).

Host modules:
- `PdfStudioHostApp.tsx`
- `PdfStudioModal.tsx` / `PdfAnnotateLayer.tsx` / `pdfOps.ts`
- `pdfStudioStore.ts`

## Enable

Settings → Plugins → install **PDF Studio** → Apps (9-dot) → PDF Studio  
Chat PDF chips: **Open with PDF Studio**.

## Host event

```js
window.dispatchEvent(new CustomEvent('ggbro:pdf-studio-open', {
  detail: { url: 'https://…/file.pdf', filename: 'file.pdf', source: 'chat' },
}));
```