Files
SnapOtter/apps/docs/tools/pdf/convert-document.md
T
SnapOtter d24e244af4 docs: organize tool pages by modality under /tools/<modality>/
Move all 157 tool pages into image/video/audio/pdf/data subfolders so URLs read /tools/<modality>/<id> (e.g. /tools/image/crop). Nest the image sub-categories under an Image group in the sidebar so the nav reads by modality. Add public/_redirects (301, clean + .html forms) mapping every old flat /tools/<id> URL to its new path so inbound links keep working. Rewrite all internal /tools links. Verified with a clean docs build (no dead links).
2026-06-18 14:12:28 +08:00

1.2 KiB

description
description
Convert between Word, OpenDocument, RTF, and plain text formats.

Convert Document

Convert documents between Word (DOCX), OpenDocument (ODT), RTF, and plain text formats using LibreOffice.

API Endpoint

POST /api/v1/tools/pdf/convert-document

Accepts multipart form data with a Word/ODT/RTF/TXT file and a JSON settings field.

Parameters

Parameter Type Required Default Description
format string Yes - Output format: docx, odt, rtf, txt

Example Request

curl -X POST http://localhost:1349/api/v1/tools/pdf/convert-document \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@report.docx" \
  -F 'settings={"format": "odt"}'

Example Response

Returns 202 Accepted. Track progress via SSE at /api/v1/jobs/{jobId}/progress.

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

Notes

  • Accepted input formats: .docx, .doc, .odt, .rtf, .txt.
  • Conversion is handled by LibreOffice running headless on the server.
  • Complex formatting (macros, embedded objects) may not survive conversion between formats.
  • The output format must differ from the input format.