A purely local project based on OnlyOffice, supporting local opening and editing of Office documents.
A local web-based document editor based on OnlyOffice, allowing you to edit documents directly in your browser without server-side processing, ensuring your privacy and security.
- 🔒 Privacy-First: All document processing happens locally in your browser, with no uploads to any server
- 📝 Multi-Format Support: Supports DOCX, XLSX, PPTX, and many other document formats
- ⚡ Real-Time Editing: Provides smooth real-time document editing experience
- 🚀 No Server Required: Pure frontend implementation with no server-side processing needed
- 🎯 Ready to Use: Start editing documents immediately by opening the webpage
This project is built on the following core technologies:
- OnlyOffice SDK: Provides powerful document editing capabilities
- WebAssembly: Implements document format conversion through x2t-wasm
- Pure Frontend Architecture: All functionality runs in the browser
Automatically downloads and opens remote Office files (e.g., .docx, .pptx) via route parameters, converting them into File objects for further use (e.g., preview or editing).
The page URL must include the following parameters:
url(required): Remote file addressfilename(optional): File name; if not provided, it will attempt to auto-resolve
Example: 00.xlsx
?filename=00.pptx&url=https://example.com/files/00.pptx
- Route parameter
filename - Parsed from
url - Extracted from response header
Content-Disposition
If the file name cannot be retrieved, the operation will terminate with an error prompt.
pnpm installpnpm devpnpm buildBuild a custom image named vue-local-office (note: the . at the end of the command indicates using the Dockerfile in the current directory; adjust the path as needed):
docker build -t vue-local-office .Map ports and start the Docker container (8080:80 maps the container's port 80 to the host's port 8080; local-office is the custom container name; vue-local-office is the custom image name):
docker run -dp 8080:80 --name local-office vue-local-officeAfter executing the above commands, open http://localhost:8080 in a browser to preview.
- Uses
x2t-wasmas a replacement for OnlyOffice services - Utilizes OnlyOffice WebSDK for editing (sourced from
se-office)



