Skip to content

Edit documents directly in your browser. Remove editing or highlighting restrictions and unlock track changes in your documents.

License

Notifications You must be signed in to change notification settings

lacuna-technologies/docdocgoose

Repository files navigation

DocDocGoose

A web app for editing your documents (.pdf, .docx, etc). DocDocGoose processes your documents on your computer without your documents ever being uploaded. No need to install any PDF editing software, and your files never leave your computer.

It can also generate bookmarks for certain PDF documents automatically using pdf_scout. Check this list of supported document types. Bookmark generation is rather slow at the moment, and will likely take several minuts or more, partly because Python is not a fast language and partly because there is a lot of room for optimisation. But it works.

Development

Setup

Ensure you have Node.JS installed, then install the npm dependencies.

npm i

WebAssembly

pdfcpu

DocDocGoose uses pdfcpu, a PDF processing library written in Golang. To build an updated WASM module for pdfcpu, ensure Golang is installed, then run ./scripts/build-pdfcpu-wasm.sh.

To run the WASM module in NodeJS, cd into the public/wasm/golang folder and run node node_wasm.js.

Current pdfcpu commit: 07d9762

pdf_scout

DocDocGoose uses pdf_scout, a Python CLI tool. To set this up, you must install download the latest Pyodide release (e.g. 0.21.3), and extract the pyodide folder to /public/wasm/pyodide.

Running in development

npm run dev

Production

npm run build
netlify deploy --prod

Browser Support

DocDocGoose aims to support recent versions of Google Chrome, Mozilla Firefox, and Microsoft Edge. Other browsers may be supported as well if the requirements are not conflicting or drastically different. Microsoft Internet Explorer is not supported.