ReboFilesDocs
Empezar3
Qué es ReboFiles
Primeros pasos
Demos para ejecutar
Ponlo en tu app6
Componente de React
Headless: tu propia interfaz
Sin framework
Estilos y temas
Teclado y accesibilidad
Idiomas
Archivos9
Subidas
Vistas previas y el visor
Búsqueda
Cambios en vivo y carpetas grandes
Comentarios
Destacados y campos
Versiones, papelera y espacio
Descargar como .zip
Documentos de Word
El servidor14
La ruta
Frameworks e inicio de sesión
Quién puede hacer qué
Almacenamiento: S3, GCS, Azure y disco
Revisar las subidas
Metadatos: SQLite y Postgres
Esquema de la base de datos
Compartir y enlaces
Actividad y notificaciones
Ganchos, registros y límites
Retención, bloqueos y exportación
Escritorio y otros orígenes
Sincronizar una carpeta
Ir a producción
En equipo1
Asistentes de IA (MCP)
Referencia5
Paquetes
Componentes y hooks
API del cliente
Rutas HTTP
Estado y hoja de ruta
↑↓ para moverte↵ para abrirEsc para cerrar38 páginas

Archivos Documentos de Word

Documentos de Word

Rebodocs es una dependencia opcional: con @rebodocs/core y @rebodocs/viewer instalados, un .docx se lee con su motor y se muestra en el visor de Rebodocs. Sin él, el drive muestra un .docx como cualquier otro archivo.
Empezar

Dale Rebodocs

import { FileDrive } from '@rebofiles/react';
import { pictureOfDocx, previewDocx, textOfDocx, thumbDocx, viewDocx } from '@rebofiles/react/rebodocs'; // needs @rebodocs/core and @rebodocs/viewer

<FileDrive
  base="/api/files"
  previewDocument={previewDocx}   // the details: its first paragraphs
  viewDocument={viewDocx}         // the viewer: its pages, with Rebodocs' zoom
  thumbDocument={thumbDocx}       // the grid, until a picture of it is made
  pictureDocument={pictureOfDocx} // that picture, of its first page, made at upload
  textDocument={textOfDocx}       // what is written in it, to find it by
  onOpenDocument={(file, url) => router.push(`/documents/${file.id}`)}
/>
Editor

Ábrelo, y guárdalo de vuelta

“Abrir en Rebodocs” llama a onOpenDocument con una dirección desde la que leer el archivo; guardarlo de vuelta es subir una nueva versión.

import { DocsEditor } from '@rebodocs/react';
import { useActions } from '@rebofiles/react';

const { upload } = useActions();
<DocsEditor docx={bytes} onSave={(docx) => upload(new File([docx], file.name), { file: file.id })} />

El playground lo hace, en apps/playground/src/Editor.tsx: ⌘S guarda, y el drive muestra el documento como su siguiente versión.

Nuevo

Crear un documento

import { newDocx } from '@rebofiles/react/rebodocs';

// "New document" in the Upload menu: an empty .docx,
// named by the person, in the folder they are in, and opened with onOpenDocument.
<FileDrive base="/api/files" newDocument={newDocx} viewDocument={viewDocx} onOpenDocument={open} />

newDocument es lo que hace uno vacío: newDocx de Rebodocs, o una plantilla tuya. Sin onOpenDocument, el documento nuevo se abre en el visor.

PDF

Como PDF

El visor de un documento de Word tiene PDF junto a Imprimir: lo hace Rebodocs en la página, a partir de las páginas que se ven, y se descarga (pdf() de lo que da viewDocx). El editor también lo hace, con editor.exportPdf().

Colaboración

Varias personas a la vez

Con el servidor de colaboración de Rebodocs, cada documento del drive es una sala: quien lo abre escribe con los demás a la vez, cada uno con su cursor, y quien solo puede leerlo mira.

import { createCollabServer } from '@rebodocs/collab/server';

// A room for each document of the drive, named by its id: opened from the file,
// kept as a new version of it once everybody has left (apps/documents/server/collab.ts).
const collab = createCollabServer({ storage: roomsOverTheDrive });
app.use('/collab', collab.handle);

<DocsEditor collab={{ url: location.origin, room: file.id, ticket }} onSave={saveAsVersion} />

La demo de documentos (npm run documents, apps/documents) lo hace completo: las salas sobre el drive, un ticket firmado para cada persona según lo que puede hacer con el archivo, y una versión guardada cuando todos se van.

Historial

Comparar dos versiones

Lo que cambió en un documento de Word entre una versión y la actual, sobre sus páginas: tachado en rojo lo que se quitó, subrayado en verde lo que se puso, un cambio tras otro.

import { compareDocx } from '@rebofiles/react/rebodocs';

// "Compare" on each version of a Word document but the current, in its history.
<FileDrive base="/api/files" viewDocument={viewDocx} compareDocument={compareDocx} />
MCP

Para un asistente

Con Rebodocs instalado junto a @rebofiles/mcp, Claude lee y edita los documentos de Word del drive con las propias herramientas de Rebodocs, cada cambio guardado como una versión: Asistentes de IA.