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
+48
View File
@@ -0,0 +1,48 @@
---
description: "Organiza páginas de PDF para dobra em formato de livreto."
i18n_source_hash: 8844b6d4fe96
i18n_provenance: human
i18n_output_hash: 5bcb3392d46a
---
# PDF em Livreto (Booklet) {#booklet-pdf}
Impõe páginas para impressão duplex, de modo que as folhas impressas possam ser dobradas em um livreto.
## Endpoint da API {#api-endpoint}
`POST /api/v1/tools/pdf/booklet-pdf`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parâmetros {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| perSheet | integer | Não | `2` | Páginas por folha: `2`, `4`, `6` ou `8` |
## Exemplo de Requisição {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/booklet-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"perSheet": 2}'
```
## Exemplo de Resposta {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 2400000
}
```
## Notas {#notes}
- O padrão `perSheet: 2` posiciona duas páginas lado a lado em cada folha, que é o layout padrão de livreto para impressão duplex.
- Páginas em branco são adicionadas automaticamente se a contagem total de páginas não for um múltiplo do tamanho da folha.
- Imprima a saída em frente e verso com encadernação pela borda curta, depois dobre e grampeie.
+62
View File
@@ -0,0 +1,62 @@
---
description: "Reduza o tamanho do arquivo PDF comprimindo as imagens incorporadas."
i18n_source_hash: a8bb0baaca25
i18n_provenance: human
i18n_output_hash: 02373ca0a6ef
---
# Compress PDF {#compress-pdf}
Reduza o tamanho do arquivo PDF fazendo o downsampling das imagens incorporadas. Escolha entre um controle deslizante de qualidade ou um tamanho de arquivo alvo.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/compress-pdf`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| mode | string | Não | `"quality"` | Modo de compressão: `quality` ou `targetSize` |
| quality | integer | Não | `75` | Qualidade da compressão, 1-100 (maior = menos compressão). Usado no modo `quality` |
| targetSizeKb | number | Não | - | Tamanho de arquivo alvo em kilobytes. Usado no modo `targetSize` |
## Example Request {#example-request}
Comprimir por qualidade:
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/compress-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"mode": "quality", "quality": 60}'
```
Comprimir para um tamanho alvo:
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/compress-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"mode": "targetSize", "targetSizeKb": 500}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 5200000,
"processedSize": 1800000
}
```
## Notes {#notes}
- No modo `quality`, valores mais baixos produzem arquivos menores com mais degradação da imagem.
- No modo `targetSize`, uma busca binária encontra o maior DPI que cabe no tamanho solicitado.
- Se a compressão aumentar o tamanho do arquivo, os bytes originais são retornados sem alteração.
- O conteúdo de texto e vetorial não é afetado; apenas as imagens raster incorporadas passam por downsampling.
+48
View File
@@ -0,0 +1,48 @@
---
description: "Recorte todas as páginas de um PDF com uma margem uniforme."
i18n_source_hash: ffa1a2cee08d
i18n_provenance: human
i18n_output_hash: 5cb3e156ad55
---
# Crop PDF {#crop-pdf}
Recorte todas as páginas de um PDF aplicando uma margem uniforme, cortando o conteúdo de cada borda igualmente.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/crop-pdf`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| margin | number | Não | `20` | Margem de recorte uniforme em pontos (0-2000) |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/crop-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"margin": 50}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 2440000
}
```
## Notes {#notes}
- O valor da margem é em pontos PDF (1 ponto = 1/72 polegada).
- A mesma margem é aplicada às quatro bordas de cada página.
- Uma margem de `0` remove todas as margens de recorte existentes, exibindo a media box completa.
@@ -0,0 +1,47 @@
---
description: "Extraia páginas selecionadas de um PDF para um novo documento."
i18n_source_hash: e4a8fad31e0f
i18n_provenance: human
i18n_output_hash: f6fc24009fa4
---
# Extract Pages {#extract-pages}
Extraia páginas selecionadas de um PDF para um novo documento, menor.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/extract-pages`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| range | string | Sim | - | Intervalo de páginas na sintaxe qpdf, por exemplo `"1-5,8,10-z"` |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/extract-pages \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"range": "1-5,8,10-z"}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 3200000,
"processedSize": 1100000
}
```
## Notes {#notes}
- Os intervalos de páginas usam a sintaxe qpdf: `1-5` para as páginas 1 a 5, `z` para a última página, e vírgulas para combinar intervalos (por exemplo `1-3,7,10-z`).
- As páginas extraídas mantêm a formatação, anotações e links originais.
+46
View File
@@ -0,0 +1,46 @@
---
description: "Incorpore formulários e anotações ao conteúdo da página."
i18n_source_hash: b25c2a2b6f40
i18n_provenance: human
i18n_output_hash: 55bbc26b338a
---
# Flatten PDF {#flatten-pdf}
Incorpore campos de formulário interativos e anotações ao conteúdo da página, produzindo um PDF estático que fica igual em qualquer lugar.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/flatten-pdf`
Aceita dados de formulário multipart com um arquivo PDF.
## Parameters {#parameters}
Esta ferramenta não tem parâmetros configuráveis. Envie um PDF e todos os formulários e anotações serão achatados.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/flatten-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@form.pdf"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/form.pdf",
"originalSize": 185000,
"processedSize": 172000
}
```
## Notes {#notes}
- Formato de entrada aceito: `.pdf`.
- Esta é uma ferramenta rápida (síncrona) que retorna o resultado diretamente.
- Os valores dos campos de formulário são preservados como texto estático na saída.
- As anotações (comentários, destaques, notas adesivas) passam a fazer parte do conteúdo da página e não podem mais ser editadas.
@@ -0,0 +1,44 @@
---
description: "Converta todas as cores de um PDF para escala de cinza."
i18n_source_hash: f327addb32d6
i18n_provenance: human
i18n_output_hash: 597949982c22
---
# Grayscale PDF {#grayscale-pdf}
Converta todas as cores de um PDF para escala de cinza, produzindo uma versão em preto e branco do documento.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/grayscale-pdf`
Aceita dados de formulário multipart com um arquivo PDF. Nenhum campo `settings` é necessário.
## Parameters {#parameters}
Esta ferramenta não tem parâmetros de configuração. Envie o arquivo PDF diretamente.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/grayscale-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 3200000,
"processedSize": 2800000
}
```
## Notes {#notes}
- Todos os espaços de cor (RGB, CMYK) são convertidos para escala de cinza, incluindo imagens incorporadas, gráficos vetoriais e texto.
- O arquivo de saída costuma ser menor que o original, pois os dados em escala de cinza exigem menos bytes por pixel.
@@ -0,0 +1,45 @@
---
description: "Linearize um PDF para visualização web rápida (download progressivo)."
i18n_source_hash: 36280b478161
i18n_provenance: human
i18n_output_hash: 780ddb2b9093
---
# Web-Optimize PDF {#web-optimize-pdf}
Linearize um PDF para que ele possa ser baixado e exibido progressivamente em navegadores web sem esperar pelo arquivo completo.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/linearize-pdf`
Aceita dados de formulário multipart com um arquivo PDF. Nenhum campo `settings` é necessário.
## Parameters {#parameters}
Esta ferramenta não tem parâmetros de configuração. Envie o arquivo PDF diretamente.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/linearize-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 2460000
}
```
## Notes {#notes}
- A linearização reorganiza a estrutura interna do PDF para que a primeira página possa ser renderizada antes de o arquivo completo ser baixado.
- O arquivo de saída pode ficar ligeiramente maior que a entrada devido aos dados de linearização adicionados.
- PDFs já linearizados são relinearizados sem problemas.
+53
View File
@@ -0,0 +1,53 @@
---
description: "Combine vários PDFs em um único documento."
i18n_source_hash: e82e389cb8b6
i18n_provenance: human
i18n_output_hash: b587bdc028a3
---
# Merge PDFs {#merge-pdfs}
Combine dois ou mais arquivos PDF em um único documento, preservando a ordem das páginas de cada arquivo de entrada.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/merge-pdf`
Aceita dados de formulário multipart com dois ou mais arquivos PDF. Nenhum campo `settings` é necessário.
## Parameters {#parameters}
Esta ferramenta não tem parâmetros de configuração. Basta enviar dois ou mais arquivos PDF.
| Restrição | Valor |
|------------|-------|
| Mínimo de arquivos | 2 |
| Máximo de arquivos | 20 |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/merge-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document1.pdf" \
-F "file=@document2.pdf" \
-F "file=@document3.pdf"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/merged.pdf",
"originalSize": 4500000,
"processedSize": 4200000
}
```
## Notes {#notes}
- Os arquivos são combinados na ordem em que são enviados.
- São necessários pelo menos dois arquivos PDF; a requisição falhará com um erro 400 se forem fornecidos menos.
- O número máximo de arquivos de entrada é 20.
- PDFs criptografados devem ser desbloqueados antes de mesclar.
+48
View File
@@ -0,0 +1,48 @@
---
description: "Organize várias páginas de PDF por folha (2 por folha, 4 por folha, etc.)."
i18n_source_hash: 9dd82737cb72
i18n_provenance: human
i18n_output_hash: 7ce40924fea5
---
# N-up PDF {#n-up-pdf}
Organize várias páginas por folha para economizar papel na impressão, como layouts de 2 por folha ou 4 por folha.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/nup-pdf`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| perSheet | integer | Não | `2` | Páginas por folha: `2`, `3`, `4`, `8`, `9`, `12` ou `16` |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/nup-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"perSheet": 4}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 2300000
}
```
## Notes {#notes}
- As páginas são organizadas na ordem de leitura (da esquerda para a direita, de cima para baixo).
- O tamanho da página de saída corresponde ao original; as páginas individuais são reduzidas para caber na grade.
- Um documento de 20 páginas com `perSheet: 4` produz uma saída de 5 páginas.
+53
View File
@@ -0,0 +1,53 @@
---
description: "Extraia texto de documentos PDF usando OCR com tecnologia de IA."
i18n_source_hash: 1431fcba180b
i18n_provenance: human
i18n_output_hash: 42ac624970b5
---
# PDF OCR {#pdf-ocr}
Extraia texto de documentos PDF usando reconhecimento óptico de caracteres com tecnologia de IA. Oferece suporte a vários níveis de qualidade e idiomas. Requer que o pacote de recurso OCR esteja instalado.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/ocr-pdf`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings` opcional.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| quality | string | Não | `"balanced"` | Nível de qualidade do OCR: `fast`, `balanced`, `best` |
| language | string | Não | `"auto"` | Idioma do documento: `auto`, `en`, `de`, `fr`, `es`, `zh`, `ja`, `ko` |
| pages | string | Não | `"all"` | Seleção de páginas, por exemplo `"all"`, `"1-3"`, `"1,3,5"` |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/ocr-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@scanned.pdf" \
-F 'settings={"quality": "best", "language": "en", "pages": "1-5"}'
```
## Example Response {#example-response}
Retorna `202 Accepted`. Acompanhe o progresso via SSE em `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Formato de entrada aceito: `.pdf`.
- Esta é uma ferramenta de IA que requer que o **pacote de recurso OCR** esteja instalado. Se o pacote não estiver instalado, a API retorna `501 Not Implemented`.
- O nível de qualidade `fast` usa um modelo mais leve para processamento mais rápido; `best` usa um modelo mais preciso ao custo de velocidade.
- A configuração de idioma `auto` tenta detectar o idioma do documento automaticamente.
- Você pode direcionar páginas específicas usando intervalos (`"1-3"`), listas separadas por vírgula (`"1,3,5"`) ou `"all"` para todas as páginas.
- Para PDFs que já contêm texto selecionável, considere usar a ferramenta [PDF to Text](./pdf-to-text), que é mais rápida.
+48
View File
@@ -0,0 +1,48 @@
---
description: "Reordene páginas em um PDF com uma ordem de páginas explícita."
i18n_source_hash: e961fc895b4b
i18n_provenance: human
i18n_output_hash: 09c57987f23b
---
# Organize PDF {#organize-pdf}
Reordene páginas em um PDF especificando a sequência de páginas desejada.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/organize-pdf`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| order | string | Sim | - | Ordem de páginas desejada na sintaxe qpdf, por exemplo `"3,1,2,5-z"` |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/organize-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"order": "3,1,2,5-z"}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 2450000
}
```
## Notes {#notes}
- Os intervalos de páginas usam a sintaxe qpdf: `3,1,2` reordena as três primeiras páginas, e `5-z` acrescenta as páginas 5 até a última.
- As páginas podem ser duplicadas listando-as mais de uma vez (por exemplo `"1,1,2,3"` duplica a página 1).
- As páginas não listadas na string de ordem são omitidas da saída.
+61
View File
@@ -0,0 +1,61 @@
---
description: "Leia e escreva metadados de documentos PDF."
i18n_source_hash: b2eaebf7467f
i18n_provenance: human
i18n_output_hash: d9353f5c61dd
---
# PDF Metadata {#pdf-metadata}
Leia e atualize campos de metadados de documentos PDF, como título, autor, assunto e palavras-chave. Quando nenhuma configuração é fornecida, os metadados existentes são retornados sem modificação.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/pdf-metadata`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings` opcional.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| title | string | Não | - | Título do documento (máximo de 500 caracteres) |
| author | string | Não | - | Autor do documento (máximo de 500 caracteres) |
| subject | string | Não | - | Assunto do documento (máximo de 500 caracteres) |
| keywords | string | Não | - | Palavras-chave do documento (máximo de 500 caracteres) |
Todos os parâmetros são opcionais. Os campos omitidos permanecem inalterados.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-metadata \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.pdf" \
-F 'settings={"title": "Q2 Report", "author": "Finance Team"}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/report.pdf",
"originalSize": 245000,
"processedSize": 245200,
"metadata": {
"title": "Q2 Report",
"author": "Finance Team",
"subject": "",
"keywords": ""
}
}
```
## Notes {#notes}
- Formato de entrada aceito: `.pdf`.
- Esta é uma ferramenta rápida (síncrona) que retorna o resultado diretamente.
- O campo `metadata` na resposta contém os metadados resultantes após quaisquer atualizações.
- Para ler os metadados sem modificá-los, omita o campo `settings` ou envie um objeto vazio.
- Cada campo de metadados é limitado a 500 caracteres.
@@ -0,0 +1,54 @@
---
description: "Adicione números de página a cada página de um PDF."
i18n_source_hash: 58342d6ac8d2
i18n_provenance: human
i18n_output_hash: 79901ced3a4e
---
# PDF Page Numbers {#pdf-page-numbers}
Adicione números de página "Página N de M" a cada página de um PDF.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/pdf-page-numbers`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| position | string | Não | `"bc"` | Posicionamento do número de página: `bl`, `bc`, `br`, `tl`, `tc`, `tr` |
| fontSize | integer | Não | `10` | Tamanho da fonte em pontos (6-24) |
### Position Values {#position-values}
- `tl` superior-esquerda, `tc` superior-centro, `tr` superior-direita
- `bl` inferior-esquerda, `bc` inferior-centro, `br` inferior-direita
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-page-numbers \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"position": "bc", "fontSize": 12}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 2470000
}
```
## Notes {#notes}
- Os números de página são renderizados no formato "Página 1 de 10".
- Os números são adicionados a cada página, incluindo quaisquer páginas de título ou de capa existentes.
- A posição padrão `"bc"` coloca os números na parte inferior central de cada página.
+133
View File
@@ -0,0 +1,133 @@
---
description: "Converta páginas de PDF em imagens de alta qualidade."
i18n_source_hash: 1c36be5dadb8
i18n_provenance: human
i18n_output_hash: 216205ce228d
---
# PDF to Image {#pdf-to-image}
Converta páginas de PDF em imagens raster de alta qualidade. Oferece suporte a seleção de páginas, vários formatos de saída, controle de DPI e modos de cor. Inclui sub-rotas de informações e pré-visualização para inspecionar PDFs antes da conversão.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/pdf-to-image`
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| format | string | Não | `"png"` | Formato de saída: `png`, `jpg`, `webp`, `avif`, `tiff`, `gif`, `heic`, `heif`, `jxl` |
| dpi | number | Não | 150 | Resolução de renderização (36 a 2400). DPI mais alto produz imagens maiores e mais detalhadas. |
| quality | number | Não | 85 | Qualidade de saída para formatos com perdas (1 a 100) |
| colorMode | string | Não | `"color"` | Modo de cor: `color`, `grayscale`, `bw` (limiar de preto e branco) |
| pages | string | Não | `"all"` | Seleção de páginas: `all`, página única (`3`), intervalo (`1-5`) ou separadas por vírgula (`1,3,5-8`) |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-image \
-F "file=@document.pdf" \
-F 'settings={"format":"png","dpi":300,"pages":"1-3","colorMode":"color"}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"pageCount": 10,
"selectedPages": [1, 2, 3],
"format": "png",
"pages": [
{
"page": 1,
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/page-1.png",
"size": 234567
},
{
"page": 2,
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/page-2.png",
"size": 198765
},
{
"page": 3,
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/page-3.png",
"size": 210456
}
],
"zipUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/pdf-pages.zip",
"zipSize": 612345
}
```
## Info Sub-Route {#info-sub-route}
`POST /api/v1/tools/pdf/pdf-to-image/info`
Retorna a contagem de páginas de um PDF sem renderizar nenhuma página.
### Info Request {#info-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-image/info \
-F "file=@document.pdf"
```
### Info Response {#info-response}
```json
{
"pageCount": 10
}
```
## Preview Sub-Route {#preview-sub-route}
`POST /api/v1/tools/pdf/pdf-to-image/preview`
Retorna miniaturas JPEG de baixa resolução de todas as páginas como data URLs base64. Útil para construir uma interface de seleção de páginas.
### Preview Request {#preview-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-image/preview \
-F "file=@document.pdf"
```
### Preview Response {#preview-response}
```json
{
"pageCount": 10,
"thumbnails": [
{
"page": 1,
"dataUrl": "data:image/jpeg;base64,/9j/4AAQ...",
"width": 300,
"height": 424
},
{
"page": 2,
"dataUrl": "data:image/jpeg;base64,/9j/4AAQ...",
"width": 300,
"height": 424
}
]
}
```
## Notes {#notes}
- Usa o MuPDF para renderização de PDF, oferecendo saída de alta fidelidade com renderização correta de fontes e gráficos vetoriais.
- PDFs protegidos por senha não são suportados e retornarão um erro 400.
- O parâmetro `pages` oferece suporte a uma sintaxe flexível:
- `"all"` ou `""` - todas as páginas
- `"3"` - página única
- `"1-5"` - intervalo de páginas (inclusivo)
- `"1,3,5-8"` - páginas individuais e intervalos combinados
- Os números de página começam em 1. Especificar páginas além do comprimento do documento retorna um erro 400.
- O endpoint principal sempre gera tanto downloads de páginas individuais quanto um ZIP contendo todas as páginas selecionadas.
- O endpoint de pré-visualização renderiza a 72 DPI e redimensiona para 300px de largura para geração rápida de miniaturas. As miniaturas são JPEG com qualidade de 60%.
- O endpoint de pré-visualização respeita a configuração de servidor `MAX_PDF_PAGES`, limitando quantas miniaturas são geradas.
- Para documentos grandes em DPI alto, o tempo de processamento aumenta proporcionalmente. Considere usar DPI mais baixo (150) para uso web e DPI mais alto (300-600) para impressão.
+47
View File
@@ -0,0 +1,47 @@
---
description: "Extraia texto simples de um PDF."
i18n_source_hash: 15a7bc1cdf8f
i18n_provenance: human
i18n_output_hash: cd7140a98b01
---
# PDF to Text {#pdf-to-text}
Extraia todo o texto simples legível de um documento PDF para um arquivo de texto.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/pdf-to-text`
Aceita dados de formulário multipart com um arquivo PDF.
## Parameters {#parameters}
Esta ferramenta não tem parâmetros configuráveis. Envie um PDF e seu conteúdo de texto será extraído.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-text \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.pdf"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/report.txt",
"originalSize": 520000,
"processedSize": 14300,
"chars": 14300
}
```
## Notes {#notes}
- Formato de entrada aceito: `.pdf`.
- Esta é uma ferramenta rápida (síncrona) que retorna o resultado diretamente.
- O campo `chars` na resposta indica o número de caracteres extraídos.
- Apenas o texto incorporado digitalmente é extraído. Para documentos digitalizados ou PDFs baseados em imagem, use a ferramenta [PDF OCR](./ocr-pdf).
+46
View File
@@ -0,0 +1,46 @@
---
description: "Converta um PDF em um documento Word (DOCX)."
i18n_source_hash: be41b6b49f84
i18n_provenance: human
i18n_output_hash: c658777d1be0
---
# PDF to Word {#pdf-to-word}
Converta um PDF baseado em texto em um documento Word (DOCX). Mais adequado para PDFs com texto selecionável; páginas digitalizadas precisarão de OCR antes.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/pdf-to-word`
Aceita dados de formulário multipart com um arquivo PDF.
## Parameters {#parameters}
Esta ferramenta não tem parâmetros configuráveis. Envie um PDF e ele será convertido para DOCX.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdf-to-word \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@report.pdf"
```
## Example Response {#example-response}
Retorna `202 Accepted`. Acompanhe o progresso via SSE em `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#notes}
- Formato de entrada aceito: `.pdf`.
- Funciona melhor com PDFs baseados em texto. Páginas digitalizadas ou somente de imagem produzirão saída vazia ou mínima; use o [PDF OCR](./ocr-pdf) para adicionar uma camada de texto antes.
- A conversão é feita pelo LibreOffice rodando em modo headless no servidor.
- Layouts complexos (múltiplas colunas, elementos sobrepostos) podem não ser convertidos perfeitamente.
+45
View File
@@ -0,0 +1,45 @@
---
description: "Converta um PDF para o formato de arquivamento PDF/A-2 para preservação de longo prazo."
i18n_source_hash: 4c6bf7a12e84
i18n_provenance: human
i18n_output_hash: 28eef5080ad1
---
# PDF/A Convert {#pdf-a-convert}
Converta um PDF para o formato de arquivamento PDF/A-2, adequado para preservação de longo prazo e conformidade regulatória.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/pdfa-convert`
Aceita dados de formulário multipart com um arquivo PDF. Nenhum campo `settings` é necessário.
## Parameters {#parameters}
Esta ferramenta não tem parâmetros de configuração. Envie o arquivo PDF diretamente.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/pdfa-convert \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 2600000
}
```
## Notes {#notes}
- A saída está em conformidade com o padrão PDF/A-2.
- O PDF/A incorpora todas as fontes e não permite referências externas, portanto o arquivo de saída pode ser maior que o original.
- Criptografia e JavaScript são removidos durante a conversão, pois não são permitidos pelo padrão PDF/A.
+50
View File
@@ -0,0 +1,50 @@
---
description: "Adicione proteção por senha com criptografia AES-256 a um PDF."
i18n_source_hash: 869cfbc739ef
i18n_provenance: human
i18n_output_hash: a3b7b2e29bfd
---
# Protect PDF {#protect-pdf}
Adicione proteção por senha a um PDF usando criptografia AES-256.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/protect-pdf`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| userPassword | string | Sim | - | Senha necessária para abrir o PDF (1-256 caracteres) |
| ownerPassword | string | Não | Igual a `userPassword` | Senha do proprietário para permissões (1-256 caracteres) |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/protect-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"userPassword": "s3cret", "ownerPassword": "0wn3r"}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 2500000
}
```
## Notes {#notes}
- A criptografia usa AES-256.
- Se `ownerPassword` for omitido, ele assume por padrão o mesmo valor de `userPassword`.
- As senhas são ocultadas dos logs de auditoria.
- O PDF criptografado exige a senha do usuário para abrir e a senha do proprietário (se diferente) para permissões completas.
+52
View File
@@ -0,0 +1,52 @@
---
description: "Remova permanentemente ocorrências de texto de um PDF (redação verdadeira verificada)."
i18n_source_hash: 296ad2a701b2
i18n_provenance: human
i18n_output_hash: 3d230772545c
---
# Redact PDF {#redact-pdf}
Remova permanentemente ocorrências de texto especificadas de um PDF usando redação verdadeira verificada. O texto redigido é completamente removido do arquivo, não apenas coberto com uma caixa preta.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/redact-pdf`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| terms | string[] | Sim | - | Strings de texto a redigir (1-50 termos, cada um com até 200 caracteres) |
| caseSensitive | boolean | Não | `false` | Se a correspondência diferencia maiúsculas de minúsculas |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/redact-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@contract.pdf" \
-F 'settings={"terms": ["John Doe", "555-0123"], "caseSensitive": false}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/contract.pdf",
"originalSize": 245000,
"processedSize": 243000,
"found": 7
}
```
## Notes {#notes}
- Formato de entrada aceito: `.pdf`.
- Esta é uma ferramenta rápida (síncrona) que retorna o resultado diretamente.
- Isto executa uma redação verdadeira: o texto correspondente é removido do fluxo de conteúdo do PDF, não apenas ocultado visualmente.
- O campo `found` na resposta indica quantas ocorrências foram redigidas.
- Você pode redigir até 50 termos em uma única requisição.
+47
View File
@@ -0,0 +1,47 @@
---
description: "Exclua páginas específicas de um PDF."
i18n_source_hash: 003e460a047c
i18n_provenance: human
i18n_output_hash: 68675a4547b3
---
# Remove Pages {#remove-pages}
Exclua páginas específicas de um PDF, mantendo todas as páginas restantes intactas.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/remove-pages`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| pages | string | Sim | - | Intervalo de páginas a remover na sintaxe qpdf, por exemplo `"3,5-7"` |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/remove-pages \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"pages": "3,5-7"}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 1800000
}
```
## Notes {#notes}
- Você não pode remover todas as páginas de um documento; pelo menos uma página deve permanecer.
- Os intervalos de páginas usam a sintaxe qpdf: `3` para uma única página, `5-7` para um intervalo, e vírgulas para combinar (por exemplo `1,3,5-7`).
+45
View File
@@ -0,0 +1,45 @@
---
description: "Tente reparar um PDF danificado ou corrompido."
i18n_source_hash: 864073a2f09f
i18n_provenance: human
i18n_output_hash: e40d1d840755
---
# Repair PDF {#repair-pdf}
Tente reparar um PDF danificado ou corrompido reconstruindo sua estrutura interna.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/repair-pdf`
Aceita dados de formulário multipart com um arquivo PDF. Nenhum campo `settings` é necessário.
## Parameters {#parameters}
Esta ferramenta não tem parâmetros de configuração. Envie o arquivo PDF danificado diretamente.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/repair-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@damaged.pdf"
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/damaged.pdf",
"originalSize": 2450000,
"processedSize": 2400000
}
```
## Notes {#notes}
- A validação estrutural é ignorada na entrada para permitir a passagem de arquivos malformados.
- O reparo é feito na medida do possível; arquivos gravemente corrompidos podem não ser totalmente recuperáveis.
- O PDF reparado pode ter tamanho ligeiramente diferente do original devido às tabelas de referência cruzada reconstruídas.
+49
View File
@@ -0,0 +1,49 @@
---
description: "Gire páginas em um PDF em 90, 180 ou 270 graus."
i18n_source_hash: cc2acd091427
i18n_provenance: human
i18n_output_hash: d30dc3765354
---
# Rotate PDF {#rotate-pdf}
Gire todas ou páginas selecionadas em um PDF por um ângulo especificado.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/rotate-pdf`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| angle | integer | Não | `90` | Ângulo de rotação: `90`, `180` ou `270` |
| range | string | Não | `"1-z"` | Intervalo de páginas na sintaxe qpdf, por exemplo `"1-5,8"` (`"1-z"` = todas as páginas) |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/rotate-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"angle": 90, "range": "1-3"}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 2450000
}
```
## Notes {#notes}
- A rotação é no sentido horário.
- Os intervalos de páginas usam a sintaxe qpdf: `1-5` para as páginas 1 a 5, `z` para a última página, e vírgulas para combinar intervalos.
- O intervalo padrão `"1-z"` gira todas as páginas.
+79
View File
@@ -0,0 +1,79 @@
---
description: "Aplique imagens de assinatura enviadas a um PDF usando posicionamentos de página normalizados."
i18n_source_hash: c28f78c2e7fd
i18n_provenance: human
i18n_output_hash: d0a7937e97db
---
# Sign PDF {#sign-pdf}
Aplique uma ou mais imagens de assinatura PNG enviadas a qualquer página de um PDF. Esta rota usa um contrato multipart personalizado porque precisa do PDF, de uma ou mais imagens de assinatura e das coordenadas de posicionamento.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/sign-pdf`
Aceita dados de formulário multipart. O PDF é enviado como `file`; as assinaturas são enviadas como `sig0`, `sig1` e assim por diante; os posicionamentos são enviados em um campo JSON `placements`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| file | file | Sim | - | Arquivo PDF a assinar |
| sig0 | file | Sim | - | Primeira imagem de assinatura. Imagens adicionais usam `sig1`, `sig2` e assim por diante |
| placements | JSON string | Sim | - | Array de objetos de posicionamento: `{ "sig": 0, "page": 0, "x": 0.2, "y": 0.7, "w": 0.25, "h": 0.08 }` |
| clientJobId | string | Não | - | UUID opcional para acompanhamento do progresso via SSE |
| fileId | string | Não | - | ID opcional da biblioteca de arquivos para salvar o resultado assinado como uma nova versão |
## Placement Coordinates {#placement-coordinates}
| Campo | Tipo | Descrição |
|-------|------|-------------|
| sig | integer | Índice da imagem de assinatura. `0` mapeia para `sig0` |
| page | integer | Índice de página do PDF baseado em zero |
| x | number | Posição à esquerda como fração da página |
| y | number | Posição superior como fração da página |
| w | number | Largura da assinatura como fração da página |
| h | number | Altura da assinatura como fração da página |
As coordenadas usam origem no canto superior esquerdo. Os valores podem ultrapassar ligeiramente a borda da página; o renderizador de PDF recorta o carimbo final para caber na página.
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/sign-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@contract.pdf" \
-F "sig0=@signature.png" \
-F 'placements=[{"sig":0,"page":0,"x":0.64,"y":0.82,"w":0.22,"h":0.08}]'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/contract_signed.pdf",
"previewUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/preview.png",
"originalSize": 245000,
"processedSize": 249000
}
```
Se a requisição não puder ser concluída dentro da janela de espera síncrona, a API retorna:
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
Conecte-se a `/api/v1/jobs/<jobId>/progress` e baixe o resultado quando o job for concluído.
## Notes {#notes}
- Formato de entrada PDF aceito: `.pdf`.
- As imagens de assinatura devem ser arquivos de imagem válidos, normalmente PNG com transparência.
- São aceitas até 100 imagens de assinatura e 100 posicionamentos.
- `sign-pdf` é uma rota personalizada e não usa o campo JSON `settings` padrão da ferramenta.
+61
View File
@@ -0,0 +1,61 @@
---
description: "Extraia páginas ou divida um PDF em partes."
i18n_source_hash: 5c8d8041d219
i18n_provenance: human
i18n_output_hash: 1db35b82cee8
---
# Split PDF {#split-pdf}
Extraia um intervalo de páginas para um novo PDF ou divida um documento em blocos de N páginas.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/split-pdf`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| mode | string | Não | `"range"` | Modo de divisão: `range` ou `every` |
| range | string | Quando o modo é `range` | - | Intervalo de páginas na sintaxe qpdf, por exemplo `"1-5,8,10-z"` |
| everyN | integer | Quando o modo é `every` | - | Divide em blocos de N páginas (1-500) |
## Example Request {#example-request}
Extrair páginas específicas:
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/split-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"mode": "range", "range": "1-5,8"}'
```
Dividir em blocos de 10 páginas:
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/split-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"mode": "every", "everyN": 10}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 980000
}
```
## Notes {#notes}
- No modo `range`, é retornado um único PDF contendo as páginas selecionadas.
- No modo `every`, o resultado é um arquivo ZIP contendo as partes individuais.
- Os intervalos de páginas usam a sintaxe qpdf: `1-5` para as páginas 1 a 5, `z` para a última página, e vírgulas para combinar intervalos (por exemplo `1-3,7,10-z`).
+48
View File
@@ -0,0 +1,48 @@
---
description: "Remova a proteção por senha de um PDF."
i18n_source_hash: 14f5165d185c
i18n_provenance: human
i18n_output_hash: e9050d1a1b08
---
# Unlock PDF {#unlock-pdf}
Remova a proteção por senha de um PDF criptografado fornecendo a senha correta.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/unlock-pdf`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| password | string | Sim | - | Senha para descriptografar o PDF (1-256 caracteres) |
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/unlock-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"password": "s3cret"}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2500000,
"processedSize": 2450000
}
```
## Notes {#notes}
- A senha correta deve ser fornecida; uma senha incorreta retorna um erro 400.
- Tanto a senha do usuário quanto a senha do proprietário funcionam para a descriptografia.
- As senhas são ocultadas dos logs de auditoria.
@@ -0,0 +1,58 @@
---
description: "Adicione uma marca d'água de texto a cada página de um PDF."
i18n_source_hash: f1f7d8912fbd
i18n_provenance: human
i18n_output_hash: fbc23166e0b6
---
# Watermark PDF {#watermark-pdf}
Aplique uma marca d'água de texto em cada página de um PDF com posição, tamanho, opacidade e rotação configuráveis.
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/watermark-pdf`
Aceita dados de formulário multipart com um arquivo PDF e um campo JSON `settings`.
## Parameters {#parameters}
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|-----------|------|----------|---------|-------------|
| text | string | Sim | - | Texto da marca d'água (1-200 caracteres) |
| position | string | Não | `"c"` | Posicionamento na página: `tl`, `tc`, `tr`, `l`, `c`, `r`, `bl`, `bc`, `br` |
| fontSize | integer | Não | `48` | Tamanho da fonte em pontos (6-72) |
| opacity | number | Não | `0.3` | Opacidade da marca d'água (0.05-1) |
| rotation | number | Não | `45` | Ângulo de rotação em graus (-180 a 180) |
### Position Values {#position-values}
- `tl` superior-esquerda, `tc` superior-centro, `tr` superior-direita
- `l` centro-esquerda, `c` centro, `r` centro-direita
- `bl` inferior-esquerda, `bc` inferior-centro, `br` inferior-direita
## Example Request {#example-request}
```bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/watermark-pdf \
-H "Authorization: Bearer si_your-api-key" \
-F "file=@document.pdf" \
-F 'settings={"text": "CONFIDENTIAL", "position": "c", "opacity": 0.2, "rotation": 45}'
```
## Example Response {#example-response}
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/document.pdf",
"originalSize": 2450000,
"processedSize": 2500000
}
```
## Notes {#notes}
- A marca d'água é renderizada como uma sobreposição de texto em cada página.
- O mesmo texto, posição e estilo de marca d'água são aplicados uniformemente a todas as páginas.
- Use valores de opacidade mais baixos (0.1-0.3) para marcas d'água sutis que não obscurecem o conteúdo.