feat(docs-i18n): translate all documentation into 20 languages

All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
This commit is contained in:
SnapOtter
2026-07-11 13:52:47 +08:00
committed by GitHub
parent 00b651c9f8
commit 4963ab3bbd
3620 changed files with 306134 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
---
description: "Crea gráficos de barras, líneas o circulares a partir de datos CSV o JSON."
i18n_source_hash: d3c39384457b
i18n_provenance: human
i18n_output_hash: c9c82b6a033f
---
# Creador de gráficos {#chart-maker}
Crea gráficos de barras, líneas o circulares a partir de datos CSV o JSON. Devuelve una imagen PNG del gráfico renderizado.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/chart-maker`
Acepta datos de formulario multipart con un archivo CSV o JSON y un campo JSON `settings`.
## Parámetros {#parameters}
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|-----------|------|----------|---------|-------------|
| kind | string | No | `"bar"` | Tipo de gráfico: `bar`, `line`, `pie` |
| title | string | No | - | Título del gráfico (máximo 120 caracteres) |
| width | integer | No | `960` | Ancho del gráfico en píxeles (320-2048) |
| height | integer | No | `540` | Alto del gráfico en píxeles (240-1536) |
## Ejemplo de solicitud {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/chart-maker \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@sales.csv" \
-F 'settings={"kind": "line", "title": "Monthly Sales", "width": 960, "height": 540}'
```
## Ejemplo de respuesta {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/sales_chart.png",
"originalSize": 1024,
"processedSize": 48500
}
```
## Notas {#notes}
- La entrada debe ser un archivo `.csv` o `.json`. Los archivos CSV deben tener una fila de encabezado con los nombres de las columnas.
- La primera columna se usa como etiqueta de categoría; la segunda columna debe ser numérica y proporciona los valores de datos. Solo se usan dos columnas.
- La entrada JSON debe ser un arreglo de objetos `{label, value}`, o un objeto simple cuyas claves se conviertan en etiquetas y cuyos valores se conviertan en puntos de datos.
- Máximo 100 puntos de datos. Todos los valores deben ser cero o mayores.
- La salida siempre es una imagen PNG, independientemente del formato de entrada.
@@ -0,0 +1,49 @@
---
description: "Convierte entre formatos Word, OpenDocument, RTF y texto plano."
i18n_source_hash: 89771292569d
i18n_provenance: human
i18n_output_hash: 7346a3e9898b
---
# Convertir documento {#convert-document}
Convierte documentos entre los formatos Word (DOCX), OpenDocument (ODT), RTF y texto plano usando LibreOffice.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/convert-document`
Acepta datos de formulario multipart con un archivo Word/ODT/RTF/TXT y un campo JSON `settings`.
## Parámetros {#parameters}
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|-----------|------|----------|---------|-------------|
| format | string | Sí | - | Formato de salida: `docx`, `odt`, `rtf`, `txt` |
## Ejemplo de solicitud {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/convert-document \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.docx" \
-F 'settings={"format": "odt"}'
```
## Ejemplo de respuesta {#example-response}
Devuelve `202 Accepted`. Sigue el progreso mediante SSE en `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notas {#notes}
- Formatos de entrada aceptados: `.docx`, `.doc`, `.odt`, `.rtf`, `.txt`.
- La conversión la gestiona LibreOffice ejecutándose sin interfaz gráfica en el servidor.
- El formato complejo (macros, objetos incrustados) puede no conservarse en la conversión entre formatos.
- El formato de salida debe ser distinto del formato de entrada.
@@ -0,0 +1,49 @@
---
description: "Convierte entre los formatos de presentación de PowerPoint y OpenDocument."
i18n_source_hash: 08ba415d39ac
i18n_provenance: human
i18n_output_hash: bf2d2ba53a44
---
# Convertir presentación {#convert-presentation}
Convierte presentaciones entre los formatos PowerPoint (PPTX) y OpenDocument Presentation (ODP).
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/convert-presentation`
Acepta datos de formulario multipart con un archivo PowerPoint/ODP y un campo JSON `settings`.
## Parámetros {#parameters}
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|-----------|------|----------|---------|-------------|
| format | string | Sí | - | Formato de salida: `pptx`, `odp` |
## Ejemplo de solicitud {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/convert-presentation \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@slides.pptx" \
-F 'settings={"format": "odp"}'
```
## Ejemplo de respuesta {#example-response}
Devuelve `202 Accepted`. Sigue el progreso mediante SSE en `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notas {#notes}
- Formatos de entrada aceptados: `.pptx`, `.ppt`, `.odp`.
- La conversión la gestiona LibreOffice ejecutándose sin interfaz gráfica en el servidor.
- Es posible que las animaciones y los efectos de transición no se conserven entre formatos.
- El formato de salida debe ser distinto del formato de entrada.
@@ -0,0 +1,49 @@
---
description: "Convierte entre los formatos Excel, OpenDocument y CSV."
i18n_source_hash: b813b1b06962
i18n_provenance: human
i18n_output_hash: 0b8010ae788d
---
# Convertir hoja de cálculo {#convert-spreadsheet}
Convierte hojas de cálculo entre los formatos Excel (XLSX), OpenDocument Spreadsheet (ODS) y CSV. Los libros con varias hojas exportan la primera hoja al convertir a CSV.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/convert-spreadsheet`
Acepta datos de formulario multipart con un archivo Excel/ODS/CSV y un campo JSON `settings`.
## Parámetros {#parameters}
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|-----------|------|----------|---------|-------------|
| format | string | Sí | - | Formato de salida: `xlsx`, `ods`, `csv` |
## Ejemplo de solicitud {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/convert-spreadsheet \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@data.xlsx" \
-F 'settings={"format": "csv"}'
```
## Ejemplo de respuesta {#example-response}
Devuelve `202 Accepted`. Sigue el progreso mediante SSE en `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notas {#notes}
- Formatos de entrada aceptados: `.xlsx`, `.xls`, `.ods`, `.csv`.
- Al convertir un libro con varias hojas a CSV, solo se exporta la primera hoja.
- Las fórmulas se evalúan y se exportan como valores estáticos en la salida CSV.
- El formato de salida debe ser distinto del formato de entrada.
+48
View File
@@ -0,0 +1,48 @@
---
description: "Agrupa varios archivos en un único archivo ZIP."
i18n_source_hash: 9ff1250dbd36
i18n_provenance: human
i18n_output_hash: ede5ca205156
---
# Crear ZIP {#create-zip}
Agrupa varios archivos de cualquier tipo en un único archivo ZIP. Los nombres de archivo duplicados se deduplican automáticamente.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/create-zip`
Acepta datos de formulario multipart con dos o más archivos. No se requiere un campo de ajustes.
## Parámetros {#parameters}
Esta herramienta no tiene parámetros configurables. Sube de 2 a 50 archivos de cualquier tipo para agruparlos.
## Ejemplo de solicitud {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/create-zip \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.pdf" \
-F "file=@data.csv" \
-F "file=@photo.jpg"
```
## Ejemplo de respuesta {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/archive.zip",
"originalSize": 3500000,
"processedSize": 2800000
}
```
## Notas {#notes}
- Requiere entre 2 y 50 archivos de entrada.
- Se acepta cualquier tipo de archivo; no hay restricciones sobre el formato de entrada.
- Si varios archivos comparten el mismo nombre, se deduplican automáticamente con sufijos numéricos.
- El archivo de salida usa la compresión ZIP estándar (deflate).
+59
View File
@@ -0,0 +1,59 @@
---
description: "Convierte entre CSV y Excel (XLSX), en ambas direcciones."
i18n_source_hash: 213297311e36
i18n_provenance: human
i18n_output_hash: 7a4464f00f03
---
# CSV a Excel {#csv-to-excel}
Convierte entre los formatos CSV y Excel (XLSX) en ambas direcciones. Sube un archivo CSV o TSV para obtener XLSX, o sube un archivo XLSX para obtener CSV.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/csv-excel`
Acepta datos de formulario multipart con un archivo CSV, TSV o XLSX y un campo JSON `settings`.
## Parámetros {#parameters}
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|-----------|------|----------|---------|-------------|
| sheet | integer | No | `1` | Número de hoja de cálculo que se exporta al convertir desde XLSX (mín. 1) |
## Ejemplo de solicitud {#example-request}
CSV a Excel:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/csv-excel \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@data.csv" \
-F 'settings={"sheet": 1}'
```
Excel a CSV:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/csv-excel \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.xlsx" \
-F 'settings={"sheet": 2}'
```
## Ejemplo de respuesta {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/data.xlsx",
"originalSize": 2048,
"processedSize": 5120
}
```
## Notas {#notes}
- La dirección de conversión se detecta automáticamente a partir de la extensión del archivo de entrada: `.csv` o `.tsv` produce `.xlsx`, y `.xlsx` produce `.csv`.
- El parámetro `sheet` solo se aplica al convertir desde XLSX. Selecciona qué hoja de cálculo se exporta.
- Los archivos TSV (valores separados por tabuladores) se admiten junto con CSV.
+60
View File
@@ -0,0 +1,60 @@
---
description: "Convierte entre CSV y JSON, en ambas direcciones."
i18n_source_hash: 978c08ad46d3
i18n_provenance: human
i18n_output_hash: 2047c669976f
---
# CSV a JSON {#csv-to-json}
Convierte entre los formatos CSV y JSON en ambas direcciones. Sube un archivo CSV o TSV para obtener un arreglo JSON de objetos, o sube un arreglo JSON para obtener un archivo CSV.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/csv-json`
Acepta datos de formulario multipart con un archivo CSV, TSV o JSON y un campo JSON `settings`.
## Parámetros {#parameters}
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|-----------|------|----------|---------|-------------|
| pretty | boolean | No | `true` | Formatea la salida JSON con sangría |
## Ejemplo de solicitud {#example-request}
CSV a JSON:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/csv-json \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@users.csv" \
-F 'settings={"pretty": true}'
```
JSON a CSV:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/csv-json \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@users.json" \
-F 'settings={}'
```
## Ejemplo de respuesta {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/users.json",
"originalSize": 1500,
"processedSize": 2200
}
```
## Notas {#notes}
- La dirección de conversión se detecta automáticamente a partir de la extensión del archivo de entrada: `.csv` o `.tsv` produce `.json`, y `.json` produce `.csv`.
- El parámetro `pretty` solo afecta a la salida JSON. Cuando se establece en `false`, la salida es una cadena JSON compacta de una sola línea.
- La entrada JSON debe ser un arreglo de objetos con claves coherentes. Cada objeto se convierte en una fila y cada clave se convierte en un encabezado de columna.
- Los archivos TSV (valores separados por tabuladores) se admiten junto con CSV.
+49
View File
@@ -0,0 +1,49 @@
---
description: "Convierte un EPUB a PDF, DOCX, HTML o Markdown."
i18n_source_hash: 7d94fc18ca97
i18n_provenance: human
i18n_output_hash: ced779c65b36
---
# Convertir EPUB {#convert-epub}
Convierte un libro electrónico EPUB a PDF, Word (DOCX), HTML o Markdown. Los recursos remotos dentro del libro no se descargan.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/epub-convert`
Acepta datos de formulario multipart con un archivo EPUB y un campo JSON `settings`.
## Parámetros {#parameters}
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|-----------|------|----------|---------|-------------|
| format | string | Sí | - | Formato de salida: `pdf`, `docx`, `html`, `md` |
## Ejemplo de solicitud {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/epub-convert \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@book.epub" \
-F 'settings={"format": "pdf"}'
```
## Ejemplo de respuesta {#example-response}
Devuelve `202 Accepted`. Sigue el progreso mediante SSE en `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notas {#notes}
- Formato de entrada aceptado: `.epub`.
- Los recursos remotos incrustados en el EPUB (imágenes y fuentes externas) no se descargan por seguridad.
- La fidelidad de las imágenes en la salida convertida puede variar según la estructura del EPUB.
- La conversión la gestiona Pandoc en el servidor.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Convierte hojas de cálculo a PDF."
i18n_source_hash: 4dbe2a810ea6
i18n_provenance: human
i18n_output_hash: 16804a39f265
---
# Excel a PDF {#excel-to-pdf}
Convierte hojas de cálculo de Excel, OpenDocument o CSV a PDF. Las hojas anchas pueden paginarse en varias páginas.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/excel-to-pdf`
Acepta datos de formulario multipart con un archivo Excel/ODS/CSV.
## Parámetros {#parameters}
Esta herramienta no tiene parámetros configurables. Sube una hoja de cálculo y se convertirá a PDF.
## Ejemplo de solicitud {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/excel-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@budget.xlsx"
```
## Ejemplo de respuesta {#example-response}
Devuelve `202 Accepted`. Sigue el progreso mediante SSE en `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notas {#notes}
- Formatos de entrada aceptados: `.xlsx`, `.xls`, `.ods`, `.csv`.
- Las hojas anchas pueden dividirse en varias páginas en el PDF resultante.
- Los gráficos y el formato condicional se renderizan en la salida PDF.
- La conversión la gestiona LibreOffice ejecutándose sin interfaz gráfica en el servidor.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Extrae archivos de forma segura de un archivo ZIP con protección contra bombas."
i18n_source_hash: 484a1f1051b8
i18n_provenance: human
i18n_output_hash: 6cfbbb30b401
---
# Extraer ZIP {#extract-zip}
Extrae archivos de forma segura de un archivo ZIP. Los archivos con un solo fichero devuelven directamente el fichero contenido; los archivos con varios ficheros devuelven un ZIP plano con el contenido extraído.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/extract-zip`
Acepta datos de formulario multipart con un archivo ZIP. No se requiere un campo de ajustes.
## Parámetros {#parameters}
Esta herramienta no tiene parámetros configurables. Sube un archivo `.zip` para extraerlo.
## Ejemplo de solicitud {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/extract-zip \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@archive.zip"
```
## Ejemplo de respuesta {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/archive_extracted.zip",
"originalSize": 2800000,
"processedSize": 3500000
}
```
## Notas {#notes}
- Solo se aceptan archivos `.zip` como entrada.
- Si el archivo contiene un solo fichero, ese fichero se devuelve directamente (no envuelto en un ZIP).
- Si el archivo contiene varios ficheros, se devuelve un ZIP plano con todos los ficheros extraídos al nivel raíz (la estructura de directorios anidada se aplana).
- La protección integrada contra bombas rechaza los archivos con ratios de compresión o cantidades de ficheros excesivas para evitar el agotamiento de recursos.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Convierte un archivo HTML a PDF."
i18n_source_hash: 20b9ae147db5
i18n_provenance: human
i18n_output_hash: 982e3551cd77
---
# HTML a PDF {#html-to-pdf}
Convierte un archivo HTML en un documento PDF con estilos. Los recursos remotos (imágenes, hojas de estilo y scripts externos) están deshabilitados por privacidad.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/html-to-pdf`
Acepta datos de formulario multipart con un archivo HTML.
## Parámetros {#parameters}
Esta herramienta no tiene parámetros configurables. Sube un archivo HTML y se convertirá a PDF.
## Ejemplo de solicitud {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/html-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@page.html"
```
## Ejemplo de respuesta {#example-response}
Devuelve `202 Accepted`. Sigue el progreso mediante SSE en `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notas {#notes}
- Formatos de entrada aceptados: `.html`, `.htm`.
- Los recursos remotos (imágenes, hojas de estilo y scripts referenciados mediante URL) no se descargan por privacidad y seguridad.
- Los estilos en línea y las imágenes incrustadas (data URI) se conservan.
- La conversión la gestiona WeasyPrint en el servidor.
+59
View File
@@ -0,0 +1,59 @@
---
description: "Convierte entre JSON y XML, en ambas direcciones."
i18n_source_hash: b3a6ded0c64a
i18n_provenance: human
i18n_output_hash: edd892e4082c
---
# JSON a XML {#json-to-xml}
Convierte entre los formatos JSON y XML en ambas direcciones. Sube un archivo JSON para obtener XML, o sube un archivo XML para obtener JSON.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/json-xml`
Acepta datos de formulario multipart con un archivo JSON o XML y un campo JSON `settings`.
## Parámetros {#parameters}
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|-----------|------|----------|---------|-------------|
| pretty | boolean | No | `true` | Formatea la salida con sangría |
## Ejemplo de solicitud {#example-request}
JSON a XML:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/json-xml \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@config.json" \
-F 'settings={"pretty": true}'
```
XML a JSON:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/json-xml \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@config.xml" \
-F 'settings={"pretty": true}'
```
## Ejemplo de respuesta {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/config.xml",
"originalSize": 850,
"processedSize": 1200
}
```
## Notas {#notes}
- La dirección de conversión se detecta automáticamente a partir de la extensión del archivo de entrada: `.json` produce `.xml`, y `.xml` produce `.json`.
- El parámetro `pretty` se aplica en ambas direcciones. Cuando es `false`, la salida es compacta y sin sangría.
- Los atributos XML y las estructuras anidadas se conservan durante la conversión de ida y vuelta siempre que sea posible.
@@ -0,0 +1,46 @@
---
description: "Convierte un archivo Markdown en un documento de Word (DOCX)."
i18n_source_hash: 979cb8ee13f2
i18n_provenance: human
i18n_output_hash: d5d9e8c43f7a
---
# Markdown a Word {#markdown-to-word}
Convierte un archivo Markdown en un documento de Word (DOCX), conservando encabezados, listas, bloques de código y otros formatos.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/markdown-to-docx`
Acepta datos de formulario multipart con un archivo Markdown.
## Parámetros {#parameters}
Esta herramienta no tiene parámetros configurables. Sube un archivo Markdown y se convertirá a DOCX.
## Ejemplo de solicitud {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/markdown-to-docx \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@README.md"
```
## Ejemplo de respuesta {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/README.docx",
"originalSize": 4500,
"processedSize": 18200
}
```
## Notas {#notes}
- Formatos de entrada aceptados: `.md`, `.markdown`.
- Esta es una herramienta rápida (síncrona) que devuelve el resultado directamente.
- Los encabezados, la negrita, la cursiva, los enlaces, los bloques de código y las listas se asignan a estilos de Word.
- La conversión la gestiona Pandoc en el servidor.
@@ -0,0 +1,46 @@
---
description: "Convierte un archivo Markdown en una página HTML independiente."
i18n_source_hash: 3ef805e8fc8c
i18n_provenance: human
i18n_output_hash: a54ac814a64e
---
# Markdown a HTML {#markdown-to-html}
Convierte un archivo Markdown en una página HTML independiente. Las imágenes remotas referenciadas en el origen se dejan tal cual en la salida.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/markdown-to-html`
Acepta datos de formulario multipart con un archivo Markdown.
## Parámetros {#parameters}
Esta herramienta no tiene parámetros configurables. Sube un archivo Markdown y se convertirá a HTML.
## Ejemplo de solicitud {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/markdown-to-html \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@notes.md"
```
## Ejemplo de respuesta {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/notes.html",
"originalSize": 3200,
"processedSize": 5800
}
```
## Notas {#notes}
- Formatos de entrada aceptados: `.md`, `.markdown`.
- Esta es una herramienta rápida (síncrona) que devuelve el resultado directamente.
- La salida es una página HTML autónoma con estilos en línea.
- Las URL de imágenes remotas en el origen Markdown se conservan tal cual y no se descargan.
@@ -0,0 +1,46 @@
---
description: "Convierte un archivo Markdown en un PDF con estilos."
i18n_source_hash: 18474dc8772a
i18n_provenance: human
i18n_output_hash: 10deb21c3fb7
---
# Markdown a PDF {#markdown-to-pdf}
Convierte un archivo Markdown en un documento PDF con estilos. Los recursos remotos están deshabilitados por privacidad.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/markdown-to-pdf`
Acepta datos de formulario multipart con un archivo Markdown.
## Parameters {#parameters}
Esta herramienta no tiene parámetros configurables. Sube un archivo Markdown y se convertirá a PDF.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/markdown-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.md"
```
## Example Response {#example-response}
Devuelve `202 Accepted`. Sigue el progreso mediante SSE en `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Formatos de entrada aceptados: `.md`, `.markdown`.
- Los recursos remotos (imágenes, hojas de estilo referenciadas mediante URL) no se descargan por privacidad y seguridad.
- El Markdown se renderiza primero a HTML y luego se convierte a PDF mediante WeasyPrint.
- Los bloques de código, las tablas y otros elementos de Markdown reciben estilos en la salida PDF.
+48
View File
@@ -0,0 +1,48 @@
---
description: "Combina varios archivos CSV o TSV con columnas coincidentes en uno solo."
i18n_source_hash: 109b5f399ac8
i18n_provenance: human
i18n_output_hash: 3e8348a37bf3
---
# Combinar CSV {#merge-csvs}
Combina varios archivos CSV o TSV con columnas coincidentes en un único archivo fusionado. Todos los archivos de entrada deben tener los mismos encabezados de columna.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/merge-csvs`
Acepta datos de formulario multipart con dos o más archivos CSV. No se requiere ningún campo de configuración.
## Parameters {#parameters}
Esta herramienta no tiene parámetros configurables. Sube de 2 a 20 archivos CSV o TSV con encabezados de columna coincidentes.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/merge-csvs \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@january.csv" \
-F "file=@february.csv" \
-F "file=@march.csv"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/merged.csv",
"originalSize": 30000,
"processedSize": 28500
}
```
## Notes {#notes}
- Requiere entre 2 y 20 archivos de entrada.
- Todos los archivos deben compartir los mismos encabezados de columna. La combinación fallará si las columnas no coinciden.
- La fila de encabezado se incluye una sola vez en la salida; las filas de datos de todos los archivos se concatenan en el orden de subida.
- Se aceptan tanto archivos CSV como TSV, pero todos los archivos de una misma solicitud deben usar el mismo delimitador.
@@ -0,0 +1,46 @@
---
description: "Convierte presentaciones a PDF."
i18n_source_hash: 49bd71c46bed
i18n_provenance: human
i18n_output_hash: 2d2670bdbf25
---
# PowerPoint a PDF {#powerpoint-to-pdf}
Convierte presentaciones de PowerPoint u OpenDocument a PDF, con una diapositiva por página.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/powerpoint-to-pdf`
Acepta datos de formulario multipart con un archivo PowerPoint/ODP.
## Parameters {#parameters}
Esta herramienta no tiene parámetros configurables. Sube una presentación y se convertirá a PDF.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/powerpoint-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@slides.pptx"
```
## Example Response {#example-response}
Devuelve `202 Accepted`. Sigue el progreso mediante SSE en `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Formatos de entrada aceptados: `.pptx`, `.ppt`, `.odp`.
- Cada diapositiva se convierte en una página del PDF.
- La conversión la realiza LibreOffice ejecutándose en modo headless en el servidor.
- Las animaciones y transiciones no se incluyen en la salida PDF.
+50
View File
@@ -0,0 +1,50 @@
---
description: "Divide un CSV en archivos más pequeños según el número de filas."
i18n_source_hash: a35dce4a99a3
i18n_provenance: human
i18n_output_hash: 01b93cef469b
---
# Dividir CSV {#split-csv}
Divide un archivo CSV o TSV grande en archivos más pequeños según el número de filas. Devuelve un archivo ZIP que contiene las partes.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/split-csv`
Acepta datos de formulario multipart con un archivo CSV y un campo JSON `settings`.
## Parameters {#parameters}
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| rowsPerFile | integer | No | `1000` | Número de filas de datos por archivo de salida (1-1.000.000) |
| keepHeader | boolean | No | `true` | Repetir la fila de encabezado en cada archivo de salida |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/split-csv \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@large-dataset.csv" \
-F 'settings={"rowsPerFile": 500, "keepHeader": true}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/large-dataset_parts.zip",
"originalSize": 1048576,
"processedSize": 1050000
}
```
## Notes {#notes}
- La salida siempre es un archivo ZIP que contiene las partes del CSV dividido, nombradas secuencialmente (por ejemplo, `part-1.csv`, `part-2.csv`).
- Cuando `keepHeader` es `true`, cada parte incluye la fila de encabezado original para que cada archivo pueda usarse de forma independiente.
- Se aceptan tanto archivos CSV como TSV de entrada.
- El número de filas se refiere solo a las filas de datos; la fila de encabezado no se cuenta.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Convierte archivos de Word, Markdown, HTML o texto plano a EPUB."
i18n_source_hash: 63e1afa91c52
i18n_provenance: human
i18n_output_hash: 93aa79fef45f
---
# Convertir a EPUB {#convert-to-epub}
Convierte documentos de Word, Markdown, HTML o archivos de texto plano al formato de libro electrónico EPUB.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/to-epub`
Acepta datos de formulario multipart con un archivo Word/Markdown/HTML/TXT.
## Parameters {#parameters}
Esta herramienta no tiene parámetros configurables. Sube un documento y se convertirá a EPUB.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/to-epub \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@manuscript.docx"
```
## Example Response {#example-response}
Devuelve `202 Accepted`. Sigue el progreso mediante SSE en `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Formatos de entrada aceptados: `.docx`, `.md`, `.html`, `.txt`.
- La salida EPUB sigue la especificación EPUB 3.
- Los encabezados del documento de origen se usan para generar la tabla de contenidos.
- La conversión la realiza Pandoc en el servidor.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Convierte documentos de Word a PDF."
i18n_source_hash: f814ba1a1a53
i18n_provenance: human
i18n_output_hash: eca87d500470
---
# Word a PDF {#word-to-pdf}
Convierte documentos de Word, texto OpenDocument, RTF o archivos de texto plano a PDF.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/word-to-pdf`
Acepta datos de formulario multipart con un archivo Word/ODT/RTF/TXT.
## Parameters {#parameters}
Esta herramienta no tiene parámetros configurables. Sube un documento y se convertirá a PDF.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/word-to-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.docx"
```
## Example Response {#example-response}
Devuelve `202 Accepted`. Sigue el progreso mediante SSE en `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Formatos de entrada aceptados: `.docx`, `.doc`, `.odt`, `.rtf`, `.txt`.
- La conversión la realiza LibreOffice ejecutándose en modo headless en el servidor.
- Se usan las fuentes incrustadas en el documento cuando están disponibles; de lo contrario, se sustituyen por fuentes del sistema.
- Los encabezados, pies de página, tablas e imágenes se conservan en la salida PDF.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Extrae elementos repetidos de un XML a una tabla CSV."
i18n_source_hash: 3ab1019bff8a
i18n_provenance: human
i18n_output_hash: fa044966477c
---
# XML a CSV {#xml-to-csv}
Extrae elementos repetidos de un archivo XML a una tabla CSV plana. La herramienta encuentra automáticamente el primer array de objetos en el árbol XML y asigna cada elemento a una fila.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/xml-to-csv`
Acepta datos de formulario multipart con un archivo XML. No se requiere ningún campo de configuración.
## Parameters {#parameters}
Esta herramienta no tiene parámetros configurables. El elemento repetido se detecta automáticamente a partir de la estructura del XML.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/xml-to-csv \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@catalog.xml"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/catalog.csv",
"originalSize": 4500,
"processedSize": 1800
}
```
## Notes {#notes}
- Solo se aceptan archivos `.xml` como entrada.
- La herramienta recorre el árbol XML en busca del primer conjunto repetido de elementos hermanos y los usa como filas.
- Cada nombre único de elemento hijo o de atributo se convierte en un encabezado de columna del CSV.
- Esta es una conversión de un solo sentido. Para la conversión bidireccional entre JSON y XML, usa la herramienta [JSON a XML](/es/tools/files/json-xml).
+55
View File
@@ -0,0 +1,55 @@
---
description: "Convierte entre YAML y JSON en ambos sentidos."
i18n_source_hash: acf8ca21ee99
i18n_provenance: human
i18n_output_hash: 052c4635f8ba
---
# YAML / JSON {#yaml-json}
Convierte entre los formatos YAML y JSON en ambos sentidos. Sube un archivo YAML para obtener JSON, o sube un archivo JSON para obtener YAML.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/files/yaml-json`
Acepta datos de formulario multipart con un archivo YAML o JSON. No se requiere ningún campo de configuración.
## Parameters {#parameters}
Esta herramienta no tiene parámetros configurables. El sentido de la conversión se determina por la extensión del archivo de entrada.
## Example Request {#example-request}
YAML a JSON:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/yaml-json \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@config.yaml"
```
JSON a YAML:
```bash
curl -X POST http://localhost:1349/api/v1/tools/files/yaml-json \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@config.json"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/config.json",
"originalSize": 620,
"processedSize": 780
}
```
## Notes {#notes}
- El sentido de la conversión se detecta automáticamente a partir de la extensión del archivo de entrada: `.yaml` o `.yml` produce `.json`, y `.json` produce `.yaml`.
- Se aceptan tanto las extensiones `.yaml` como `.yml`.
- Solo se convierte el primer documento de un archivo YAML con varios documentos; los documentos adicionales separados por `---` se ignoran.