mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
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:
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Arrangera PDF-sidor för att vikas till ett häfte."
|
||||
i18n_source_hash: 8844b6d4fe96
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 1efc429c5b11
|
||||
---
|
||||
|
||||
# Häftes-PDF {#booklet-pdf}
|
||||
|
||||
Montera sidor för dubbelsidig utskrift så att de utskrivna arken kan vikas till ett häfte.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/booklet-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Type | Required | Default | Description |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| perSheet | integer | No | `2` | Sidor per ark: `2`, `4`, `6` eller `8` |
|
||||
|
||||
## Example Request {#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}'
|
||||
```
|
||||
|
||||
## 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": 2400000
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- Standardvärdet `perSheet: 2` placerar två sidor sida vid sida på varje ark, vilket är standardlayouten för häften vid dubbelsidig utskrift.
|
||||
- Tomma sidor läggs till automatiskt om det totala sidantalet inte är en multipel av arkstorleken.
|
||||
- Skriv ut utdatan dubbelsidigt med bindning längs kortsidan, vik sedan och häfta.
|
||||
@@ -0,0 +1,62 @@
|
||||
---
|
||||
description: "Krymp PDF-filstorleken genom att komprimera inbäddade bilder."
|
||||
i18n_source_hash: a8bb0baaca25
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 59ac5b7a87b8
|
||||
---
|
||||
|
||||
# Compress PDF {#compress-pdf}
|
||||
|
||||
Minska PDF-filstorleken genom att nedsampla inbäddade bilder. Välj mellan ett kvalitetsreglage eller en målfilstorlek.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/compress-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | Nej | `"quality"` | Komprimeringsläge: `quality` eller `targetSize` |
|
||||
| quality | integer | Nej | `75` | Komprimeringskvalitet, 1-100 (högre = mindre komprimering). Används i läget `quality` |
|
||||
| targetSizeKb | number | Nej | - | Målfilstorlek i kilobyte. Används i läget `targetSize` |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
Komprimera efter kvalitet:
|
||||
|
||||
```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}'
|
||||
```
|
||||
|
||||
Komprimera till en målstorlek:
|
||||
|
||||
```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}
|
||||
|
||||
- I läget `quality` ger lägre värden mindre filer med mer bildförsämring.
|
||||
- I läget `targetSize` hittar en binärsökning den högsta DPI som får plats inom den begärda storleken.
|
||||
- Om komprimeringen skulle förstora filen returneras originalbyten oförändrade.
|
||||
- Text och vektorinnehåll påverkas inte; endast inbäddade rasterbilder nedsamplas.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Beskär alla sidor i en PDF med en enhetlig marginal."
|
||||
i18n_source_hash: ffa1a2cee08d
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: b595238439ba
|
||||
---
|
||||
|
||||
# Crop PDF {#crop-pdf}
|
||||
|
||||
Beskär alla sidor i en PDF genom att tillämpa en enhetlig marginal och trimma innehåll lika mycket från varje kant.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/crop-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| margin | number | Nej | `20` | Enhetlig beskärningsmarginal i punkter (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}
|
||||
|
||||
- Marginalvärdet anges i PDF-punkter (1 punkt = 1/72 tum).
|
||||
- Samma marginal tillämpas på alla fyra kanterna på varje sida.
|
||||
- En marginal på `0` tar bort alla befintliga beskärningsmarginaler och visar hela mediarutan.
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
description: "Plocka ut valda sidor från en PDF till ett nytt dokument."
|
||||
i18n_source_hash: e4a8fad31e0f
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 84346a8f2b31
|
||||
---
|
||||
|
||||
# Extract Pages {#extract-pages}
|
||||
|
||||
Plocka ut valda sidor från en PDF till ett nytt, mindre dokument.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/extract-pages`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| range | string | Ja | - | Sidintervall i qpdf-syntax, t.ex. `"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}
|
||||
|
||||
- Sidintervall använder qpdf-syntax: `1-5` för sidorna 1 till 5, `z` för den sista sidan, och kommatecken för att kombinera intervall (t.ex. `1-3,7,10-z`).
|
||||
- De extraherade sidorna behåller sin ursprungliga formatering, sina anteckningar och länkar.
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: "Baka in formulär och anteckningar i sidinnehållet."
|
||||
i18n_source_hash: b25c2a2b6f40
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 228f0a70b0e2
|
||||
---
|
||||
|
||||
# Flatten PDF {#flatten-pdf}
|
||||
|
||||
Baka in interaktiva formulärfält och anteckningar i sidinnehållet, vilket skapar en statisk PDF som ser likadan ut överallt.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/flatten-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
Detta verktyg har inga konfigurerbara parametrar. Ladda upp en PDF så plattas alla formulär och anteckningar ut.
|
||||
|
||||
## 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}
|
||||
|
||||
- Godkänt indataformat: `.pdf`.
|
||||
- Detta är ett snabbt (synkront) verktyg som returnerar resultatet direkt.
|
||||
- Formulärfältens värden bevaras som statisk text i utdata.
|
||||
- Anteckningar (kommentarer, markeringar, klisterlappar) blir en del av sidinnehållet och kan inte längre redigeras.
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
description: "Konvertera alla färger i en PDF till gråskala."
|
||||
i18n_source_hash: f327addb32d6
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 76bace77335e
|
||||
---
|
||||
|
||||
# Grayscale PDF {#grayscale-pdf}
|
||||
|
||||
Konvertera alla färger i en PDF till gråskala och skapa en svartvit version av dokumentet.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/grayscale-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil. Inget fält `settings` krävs.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
Detta verktyg har inga inställningsparametrar. Ladda upp PDF-filen direkt.
|
||||
|
||||
## 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}
|
||||
|
||||
- Alla färgrymder (RGB, CMYK) konverteras till gråskala, inklusive inbäddade bilder, vektorgrafik och text.
|
||||
- Utdatafilen är ofta mindre än originalet eftersom gråskaledata kräver färre byte per pixel.
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
description: "Linjärisera en PDF för snabb webbvisning (progressiv nedladdning)."
|
||||
i18n_source_hash: 36280b478161
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: e7c30823278f
|
||||
---
|
||||
|
||||
# Web-Optimize PDF {#web-optimize-pdf}
|
||||
|
||||
Linjärisera en PDF så att den kan laddas ner och visas progressivt i webbläsare utan att vänta på hela filen.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/linearize-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil. Inget fält `settings` krävs.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
Detta verktyg har inga inställningsparametrar. Ladda upp PDF-filen direkt.
|
||||
|
||||
## 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}
|
||||
|
||||
- Linjärisering ordnar om PDF-filens interna struktur så att den första sidan kan renderas innan hela filen har laddats ner.
|
||||
- Utdatafilen kan bli något större än indatafilen på grund av den tillagda linjäriseringsdatan.
|
||||
- Redan linjäriserade PDF-filer linjäriseras om utan problem.
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
description: "Kombinera flera PDF-filer till ett enda dokument."
|
||||
i18n_source_hash: e82e389cb8b6
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: e1166877da2f
|
||||
---
|
||||
|
||||
# Merge PDFs {#merge-pdfs}
|
||||
|
||||
Kombinera två eller fler PDF-filer till ett enda dokument och bevara sidordningen i varje indatafil.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/merge-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med två eller fler PDF-filer. Inget fält `settings` krävs.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
Detta verktyg har inga inställningsparametrar. Ladda helt enkelt upp två eller fler PDF-filer.
|
||||
|
||||
| Begränsning | Värde |
|
||||
|------------|-------|
|
||||
| Minsta antal filer | 2 |
|
||||
| Högsta antal filer | 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}
|
||||
|
||||
- Filerna slås samman i den ordning de laddas upp.
|
||||
- Minst två PDF-filer krävs; begäran misslyckas med ett 400-fel om färre anges.
|
||||
- Det högsta antalet indatafiler är 20.
|
||||
- Krypterade PDF-filer måste låsas upp innan de slås samman.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Placera flera PDF-sidor per ark (2-up, 4-up osv.)."
|
||||
i18n_source_hash: 9dd82737cb72
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 454082da0433
|
||||
---
|
||||
|
||||
# N-up PDF {#n-up-pdf}
|
||||
|
||||
Placera flera sidor per ark för att spara papper vid utskrift, till exempel 2-up- eller 4-up-layouter.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/nup-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| perSheet | integer | Nej | `2` | Sidor per ark: `2`, `3`, `4`, `8`, `9`, `12` eller `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}
|
||||
|
||||
- Sidorna placeras i läsordning (från vänster till höger, uppifrån och ned).
|
||||
- Utdatasidans storlek matchar originalet; enskilda sidor skalas ned för att passa i rutnätet.
|
||||
- Ett dokument på 20 sidor med `perSheet: 4` ger ett utdata på 5 sidor.
|
||||
@@ -0,0 +1,53 @@
|
||||
---
|
||||
description: "Extrahera text från PDF-dokument med AI-driven OCR."
|
||||
i18n_source_hash: 1431fcba180b
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 8169485e1e62
|
||||
---
|
||||
|
||||
# PDF OCR {#pdf-ocr}
|
||||
|
||||
Extrahera text från PDF-dokument med AI-driven optisk teckenigenkänning. Stöder flera kvalitetsnivåer och språk. Kräver att OCR-funktionspaketet är installerat.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/ocr-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett valfritt JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| quality | string | Nej | `"balanced"` | OCR-kvalitetsnivå: `fast`, `balanced`, `best` |
|
||||
| language | string | Nej | `"auto"` | Dokumentspråk: `auto`, `en`, `de`, `fr`, `es`, `zh`, `ja`, `ko` |
|
||||
| pages | string | Nej | `"all"` | Sidval, t.ex. `"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}
|
||||
|
||||
Returnerar `202 Accepted`. Följ förloppet via SSE på `/api/v1/jobs/{jobId}/progress`.
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- Godkänt indataformat: `.pdf`.
|
||||
- Detta är ett AI-verktyg som kräver att **OCR-funktionspaketet** är installerat. Om paketet inte är installerat returnerar API:et `501 Not Implemented`.
|
||||
- Kvalitetsnivån `fast` använder en lättare modell för snabbare bearbetning; `best` använder en mer träffsäker modell på bekostnad av hastighet.
|
||||
- Språkinställningen `auto` försöker upptäcka dokumentspråket automatiskt.
|
||||
- Du kan rikta in dig på specifika sidor med intervall (`"1-3"`), kommaseparerade listor (`"1,3,5"`) eller `"all"` för varje sida.
|
||||
- För PDF-filer som redan innehåller markerbar text bör du överväga att använda det snabbare verktyget [PDF to Text](./pdf-to-text) istället.
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Ändra ordning på sidorna i en PDF med en uttrycklig sidordning."
|
||||
i18n_source_hash: e961fc895b4b
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 8285f45a3f9a
|
||||
---
|
||||
|
||||
# Organize PDF {#organize-pdf}
|
||||
|
||||
Ändra ordning på sidorna i en PDF genom att ange den önskade sidsekvensen.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/organize-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| order | string | Ja | - | Önskad sidordning i qpdf-syntax, t.ex. `"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}
|
||||
|
||||
- Sidintervall använder qpdf-syntax: `3,1,2` ordnar om de tre första sidorna, och `5-z` lägger till sidorna 5 till sista sidan.
|
||||
- Sidor kan dupliceras genom att de listas mer än en gång (t.ex. duplicerar `"1,1,2,3"` sidan 1).
|
||||
- Sidor som inte listas i ordningssträngen utelämnas från utdata.
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
description: "Läs och skriv metadata för PDF-dokument."
|
||||
i18n_source_hash: b2eaebf7467f
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: c159b5211bfd
|
||||
---
|
||||
|
||||
# PDF Metadata {#pdf-metadata}
|
||||
|
||||
Läs och uppdatera metadatafält för PDF-dokument, såsom titel, författare, ämne och nyckelord. När inga inställningar anges returneras befintlig metadata utan ändring.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdf-metadata`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett valfritt JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| title | string | Nej | - | Dokumenttitel (max 500 tecken) |
|
||||
| author | string | Nej | - | Dokumentförfattare (max 500 tecken) |
|
||||
| subject | string | Nej | - | Dokumentämne (max 500 tecken) |
|
||||
| keywords | string | Nej | - | Dokumentnyckelord (max 500 tecken) |
|
||||
|
||||
Alla parametrar är valfria. Utelämnade fält lämnas oförändrade.
|
||||
|
||||
## 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}
|
||||
|
||||
- Godkänt indataformat: `.pdf`.
|
||||
- Detta är ett snabbt (synkront) verktyg som returnerar resultatet direkt.
|
||||
- Fältet `metadata` i svaret innehåller den resulterande metadatan efter eventuella uppdateringar.
|
||||
- För att läsa metadata utan att ändra den, utelämna fältet `settings` eller skicka ett tomt objekt.
|
||||
- Varje metadatafält är begränsat till 500 tecken.
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
description: "Lägg till sidnummer på varje sida i en PDF."
|
||||
i18n_source_hash: 58342d6ac8d2
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 6118734e13dc
|
||||
---
|
||||
|
||||
# PDF Page Numbers {#pdf-page-numbers}
|
||||
|
||||
Lägg till sidnumret "Page N of M" på varje sida i en PDF.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdf-page-numbers`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| position | string | Nej | `"bc"` | Placering av sidnummer: `bl`, `bc`, `br`, `tl`, `tc`, `tr` |
|
||||
| fontSize | integer | Nej | `10` | Teckenstorlek i punkter (6-24) |
|
||||
|
||||
### Position Values {#position-values}
|
||||
|
||||
- `tl` uppe till vänster, `tc` uppe i mitten, `tr` uppe till höger
|
||||
- `bl` nere till vänster, `bc` nere i mitten, `br` nere till höger
|
||||
|
||||
## 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}
|
||||
|
||||
- Sidnummer renderas i formatet "Page 1 of 10".
|
||||
- Nummer läggs till på varje sida, inklusive eventuella befintliga titel- eller omslagssidor.
|
||||
- Standardpositionen `"bc"` placerar nummer nere i mitten av varje sida.
|
||||
@@ -0,0 +1,133 @@
|
||||
---
|
||||
description: "Konvertera PDF-sidor till högkvalitativa bilder."
|
||||
i18n_source_hash: 1c36be5dadb8
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: ae131ed26a40
|
||||
---
|
||||
|
||||
# PDF to Image {#pdf-to-image}
|
||||
|
||||
Konvertera PDF-sidor till högkvalitativa rasterbilder. Stöder sidval, flera utdataformat, DPI-kontroll och färglägen. Innehåller under-rutter för info och förhandsvisning för att inspektera PDF-filer före konvertering.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdf-to-image`
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| format | string | Nej | `"png"` | Utdataformat: `png`, `jpg`, `webp`, `avif`, `tiff`, `gif`, `heic`, `heif`, `jxl` |
|
||||
| dpi | number | Nej | 150 | Renderingsupplösning (36 till 2400). Högre DPI ger större, mer detaljerade bilder. |
|
||||
| quality | number | Nej | 85 | Utdatakvalitet för förlustbringande format (1 till 100) |
|
||||
| colorMode | string | Nej | `"color"` | Färgläge: `color`, `grayscale`, `bw` (svartvit tröskel) |
|
||||
| pages | string | Nej | `"all"` | Sidval: `all`, enskild sida (`3`), intervall (`1-5`) eller kommaseparerat (`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`
|
||||
|
||||
Returnerar antalet sidor i en PDF utan att rendera några sidor.
|
||||
|
||||
### 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`
|
||||
|
||||
Returnerar lågupplösta JPEG-miniatyrer av alla sidor som base64-data-URL:er. Användbart för att bygga ett gränssnitt för sidval.
|
||||
|
||||
### 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}
|
||||
|
||||
- Använder MuPDF för PDF-rendering, vilket ger utdata med hög trohet, korrekt teckensnittsrendering och vektorgrafik.
|
||||
- Lösenordsskyddade PDF-filer stöds inte och returnerar ett 400-fel.
|
||||
- Parametern `pages` stöder flexibel syntax:
|
||||
- `"all"` eller `""` - alla sidor
|
||||
- `"3"` - enskild sida
|
||||
- `"1-5"` - sidintervall (inklusive)
|
||||
- `"1,3,5-8"` - blandade enskilda sidor och intervall
|
||||
- Sidnummer är 1-baserade. Att ange sidor bortom dokumentets längd returnerar ett 400-fel.
|
||||
- Huvudslutpunkten genererar alltid både nedladdningar av enskilda sidor och en ZIP som innehåller alla valda sidor.
|
||||
- Förhandsvisningsslutpunkten renderar vid 72 DPI och skalar till 300 px bredd för snabb miniatyrgenerering. Miniatyrer är JPEG med 60 % kvalitet.
|
||||
- Förhandsvisningsslutpunkten respekterar serverkonfigurationen `MAX_PDF_PAGES`, vilket begränsar hur många miniatyrer som genereras.
|
||||
- För stora dokument vid hög DPI ökar bearbetningstiden proportionerligt. Överväg att använda lägre DPI (150) för webbanvändning och högre DPI (300-600) för utskrift.
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
description: "Extrahera vanlig text från en PDF."
|
||||
i18n_source_hash: 15a7bc1cdf8f
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: ea7a25764301
|
||||
---
|
||||
|
||||
# PDF to Text {#pdf-to-text}
|
||||
|
||||
Extrahera all läsbar vanlig text från ett PDF-dokument till en textfil.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdf-to-text`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
Detta verktyg har inga konfigurerbara parametrar. Ladda upp en PDF så extraheras dess textinnehåll.
|
||||
|
||||
## 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}
|
||||
|
||||
- Godkänt indataformat: `.pdf`.
|
||||
- Detta är ett snabbt (synkront) verktyg som returnerar resultatet direkt.
|
||||
- Fältet `chars` i svaret anger antalet extraherade tecken.
|
||||
- Endast digitalt inbäddad text extraheras. För skannade dokument eller bildbaserade PDF-filer, använd verktyget [PDF OCR](./ocr-pdf) istället.
|
||||
@@ -0,0 +1,46 @@
|
||||
---
|
||||
description: "Konvertera en PDF till ett Word-dokument (DOCX)."
|
||||
i18n_source_hash: be41b6b49f84
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 9f4d2af147e2
|
||||
---
|
||||
|
||||
# PDF to Word {#pdf-to-word}
|
||||
|
||||
Konvertera en textbaserad PDF till ett Word-dokument (DOCX). Passar bäst för PDF-filer med markerbar text; skannade sidor behöver OCR först.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdf-to-word`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
Detta verktyg har inga konfigurerbara parametrar. Ladda upp en PDF så konverteras den till 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}
|
||||
|
||||
Returnerar `202 Accepted`. Följ förloppet via SSE på `/api/v1/jobs/{jobId}/progress`.
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- Godkänt indataformat: `.pdf`.
|
||||
- Fungerar bäst med textbaserade PDF-filer. Skannade eller enbart bildbaserade sidor ger tom eller minimal utdata; använd [PDF OCR](./ocr-pdf) för att lägga till ett textlager först.
|
||||
- Konverteringen hanteras av LibreOffice som körs utan grafiskt gränssnitt på servern.
|
||||
- Komplexa layouter (flera kolumner, överlappande element) kanske inte konverteras perfekt.
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
description: "Konvertera en PDF till arkivformatet PDF/A-2 för långtidsbevarande."
|
||||
i18n_source_hash: 4c6bf7a12e84
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: b40ae095488f
|
||||
---
|
||||
|
||||
# PDF/A Convert {#pdf-a-convert}
|
||||
|
||||
Konvertera en PDF till arkivformatet PDF/A-2, lämpligt för långtidsbevarande och regelefterlevnad.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/pdfa-convert`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil. Inget fält `settings` krävs.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
Detta verktyg har inga inställningsparametrar. Ladda upp PDF-filen direkt.
|
||||
|
||||
## 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}
|
||||
|
||||
- Utdata följer standarden PDF/A-2.
|
||||
- PDF/A bäddar in alla teckensnitt och tillåter inte externa referenser, så utdatafilen kan bli större än originalet.
|
||||
- Kryptering och JavaScript tas bort under konverteringen, eftersom de inte är tillåtna enligt PDF/A-standarden.
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
description: "Lägg till lösenordsskydd med AES-256-kryptering på en PDF."
|
||||
i18n_source_hash: 869cfbc739ef
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 834ae32be7e4
|
||||
---
|
||||
|
||||
# Protect PDF {#protect-pdf}
|
||||
|
||||
Lägg till lösenordsskydd på en PDF med AES-256-kryptering.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/protect-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| userPassword | string | Ja | - | Lösenord som krävs för att öppna PDF-filen (1-256 tecken) |
|
||||
| ownerPassword | string | Nej | Samma som `userPassword` | Ägarlösenord för behörigheter (1-256 tecken) |
|
||||
|
||||
## 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}
|
||||
|
||||
- Krypteringen använder AES-256.
|
||||
- Om `ownerPassword` utelämnas får det som standard samma värde som `userPassword`.
|
||||
- Lösenord redigeras bort från granskningsloggar.
|
||||
- Den krypterade PDF-filen kräver användarlösenordet för att öppnas och ägarlösenordet (om det skiljer sig) för fulla behörigheter.
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
description: "Ta permanent bort textförekomster från en PDF (verifierad äkta redigering)."
|
||||
i18n_source_hash: 296ad2a701b2
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 6bc27b275c94
|
||||
---
|
||||
|
||||
# Redact PDF {#redact-pdf}
|
||||
|
||||
Ta permanent bort angivna textförekomster från en PDF med verifierad äkta redigering. Den redigerade texten tas helt bort från filen, den täcks inte bara över med en svart ruta.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/redact-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| terms | string[] | Ja | - | Textsträngar att redigera bort (1-50 termer, var och en upp till 200 tecken) |
|
||||
| caseSensitive | boolean | Nej | `false` | Om matchningen är skiftlägeskänslig |
|
||||
|
||||
## 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}
|
||||
|
||||
- Godkänt indataformat: `.pdf`.
|
||||
- Detta är ett snabbt (synkront) verktyg som returnerar resultatet direkt.
|
||||
- Detta utför äkta redigering: matchad text tas bort från PDF-filens innehållsström, den döljs inte bara visuellt.
|
||||
- Fältet `found` i svaret anger hur många förekomster som redigerades bort.
|
||||
- Du kan redigera bort upp till 50 termer i en enda begäran.
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
description: "Ta bort specifika sidor från en PDF."
|
||||
i18n_source_hash: 003e460a047c
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: b0685e12c543
|
||||
---
|
||||
|
||||
# Remove Pages {#remove-pages}
|
||||
|
||||
Ta bort specifika sidor från en PDF och behåll alla återstående sidor intakta.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/remove-pages`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| pages | string | Ja | - | Sidintervall att ta bort i qpdf-syntax, t.ex. `"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}
|
||||
|
||||
- Du kan inte ta bort alla sidor från ett dokument; minst en sida måste finnas kvar.
|
||||
- Sidintervall använder qpdf-syntax: `3` för en enskild sida, `5-7` för ett intervall, och kommatecken för att kombinera (t.ex. `1,3,5-7`).
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
description: "Försök reparera en skadad eller korrupt PDF."
|
||||
i18n_source_hash: 864073a2f09f
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 6c2f016abc0a
|
||||
---
|
||||
|
||||
# Repair PDF {#repair-pdf}
|
||||
|
||||
Försök reparera en skadad eller korrupt PDF genom att rekonstruera dess interna struktur.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/repair-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil. Inget fält `settings` krävs.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
Detta verktyg har inga inställningsparametrar. Ladda upp den skadade PDF-filen direkt.
|
||||
|
||||
## 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}
|
||||
|
||||
- Strukturell validering hoppas över på indata för att släppa igenom felaktigt utformade filer.
|
||||
- Reparation är bästa möjliga försök; allvarligt korrupta filer kanske inte kan återställas helt.
|
||||
- Den reparerade PDF-filen kan skilja sig något i storlek från originalet på grund av rekonstruerade korsreferenstabeller.
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
description: "Rotera sidor i en PDF med 90, 180 eller 270 grader."
|
||||
i18n_source_hash: cc2acd091427
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: ab77cda241c2
|
||||
---
|
||||
|
||||
# Rotate PDF {#rotate-pdf}
|
||||
|
||||
Rotera alla eller valda sidor i en PDF med en angiven vinkel.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/rotate-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| angle | integer | Nej | `90` | Rotationsvinkel: `90`, `180` eller `270` |
|
||||
| range | string | Nej | `"1-z"` | Sidintervall i qpdf-syntax, t.ex. `"1-5,8"` (`"1-z"` = alla sidor) |
|
||||
|
||||
## 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}
|
||||
|
||||
- Rotationen sker medurs.
|
||||
- Sidintervall använder qpdf-syntax: `1-5` för sidorna 1 till 5, `z` för den sista sidan, och kommatecken för att kombinera intervall.
|
||||
- Standardintervallet `"1-z"` roterar alla sidor.
|
||||
@@ -0,0 +1,79 @@
|
||||
---
|
||||
description: "Stämpla uppladdade signaturbilder på en PDF med normaliserade sidplaceringar."
|
||||
i18n_source_hash: c28f78c2e7fd
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 661dcb901278
|
||||
---
|
||||
|
||||
# Sign PDF {#sign-pdf}
|
||||
|
||||
Stämpla en eller flera uppladdade PNG-signaturbilder på valfri sida i en PDF. Denna rutt använder ett anpassat multipart-kontrakt eftersom den behöver PDF-filen, en eller flera signaturbilder och placeringskoordinater.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/sign-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata. PDF-filen skickas som `file`; signaturer skickas som `sig0`, `sig1` och så vidare; placeringar skickas i ett JSON-fält `placements`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| file | file | Ja | - | PDF-fil att signera |
|
||||
| sig0 | file | Ja | - | Första signaturbilden. Ytterligare bilder använder `sig1`, `sig2` och så vidare |
|
||||
| placements | JSON string | Ja | - | Array av placeringsobjekt: `{ "sig": 0, "page": 0, "x": 0.2, "y": 0.7, "w": 0.25, "h": 0.08 }` |
|
||||
| clientJobId | string | Nej | - | Valfri UUID för förloppsspårning via SSE |
|
||||
| fileId | string | Nej | - | Valfritt fil-bibliotek-ID för att spara det signerade resultatet som en ny version |
|
||||
|
||||
## Placement Coordinates {#placement-coordinates}
|
||||
|
||||
| Fält | Typ | Beskrivning |
|
||||
|-------|------|-------------|
|
||||
| sig | integer | Signaturbildindex. `0` mappas till `sig0` |
|
||||
| page | integer | Noll-baserat PDF-sidindex |
|
||||
| x | number | Vänsterposition som en sidfraktion |
|
||||
| y | number | Toppposition som en sidfraktion |
|
||||
| w | number | Signaturbredd som en sidfraktion |
|
||||
| h | number | Signaturhöjd som en sidfraktion |
|
||||
|
||||
Koordinater använder ett ursprung uppe till vänster. Värden kan blöda något utanför sidkanten; PDF-renderaren beskär den slutliga stämpeln till sidan.
|
||||
|
||||
## 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
|
||||
}
|
||||
```
|
||||
|
||||
Om begäran inte kan slutföras inom det synkrona väntefönstret returnerar API:et:
|
||||
|
||||
```json
|
||||
{
|
||||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||||
"async": true
|
||||
}
|
||||
```
|
||||
|
||||
Anslut till `/api/v1/jobs/<jobId>/progress` och ladda ner resultatet när jobbet är klart.
|
||||
|
||||
## Notes {#notes}
|
||||
|
||||
- Godkänt PDF-indataformat: `.pdf`.
|
||||
- Signaturbilder måste vara giltiga bildfiler, vanligtvis PNG med transparens.
|
||||
- Upp till 100 signaturbilder och 100 placeringar godtas.
|
||||
- `sign-pdf` är en anpassad rutt och använder inte det vanliga JSON-fältet `settings` för verktyg.
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
description: "Extrahera sidor eller dela upp en PDF i delar."
|
||||
i18n_source_hash: 5c8d8041d219
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 7b7e6c0e4d22
|
||||
---
|
||||
|
||||
# Split PDF {#split-pdf}
|
||||
|
||||
Extrahera ett sidintervall till en ny PDF, eller dela upp ett dokument i delar om N sidor.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/split-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| mode | string | Nej | `"range"` | Uppdelningsläge: `range` eller `every` |
|
||||
| range | string | När läget är `range` | - | Sidintervall i qpdf-syntax, t.ex. `"1-5,8,10-z"` |
|
||||
| everyN | integer | När läget är `every` | - | Dela upp i delar om N sidor (1-500) |
|
||||
|
||||
## Example Request {#example-request}
|
||||
|
||||
Extrahera specifika sidor:
|
||||
|
||||
```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"}'
|
||||
```
|
||||
|
||||
Dela upp i delar om 10 sidor:
|
||||
|
||||
```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}
|
||||
|
||||
- I läget `range` returneras en enda PDF som innehåller de valda sidorna.
|
||||
- I läget `every` är resultatet ett ZIP-arkiv som innehåller de enskilda delarna.
|
||||
- Sidintervall använder qpdf-syntax: `1-5` för sidorna 1 till 5, `z` för den sista sidan, och kommatecken för att kombinera intervall (t.ex. `1-3,7,10-z`).
|
||||
@@ -0,0 +1,48 @@
|
||||
---
|
||||
description: "Ta bort lösenordsskydd från en PDF."
|
||||
i18n_source_hash: 14f5165d185c
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: d375099934ee
|
||||
---
|
||||
|
||||
# Unlock PDF {#unlock-pdf}
|
||||
|
||||
Ta bort lösenordsskydd från en krypterad PDF genom att ange rätt lösenord.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/unlock-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| password | string | Ja | - | Lösenord för att dekryptera PDF-filen (1-256 tecken) |
|
||||
|
||||
## 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}
|
||||
|
||||
- Rätt lösenord måste anges; ett felaktigt lösenord returnerar ett 400-fel.
|
||||
- Antingen användarlösenordet eller ägarlösenordet fungerar för dekryptering.
|
||||
- Lösenord redigeras bort från granskningsloggar.
|
||||
@@ -0,0 +1,58 @@
|
||||
---
|
||||
description: "Lägg till en textvattenstämpel på varje sida i en PDF."
|
||||
i18n_source_hash: f1f7d8912fbd
|
||||
i18n_provenance: human
|
||||
i18n_output_hash: 46b3491dda9a
|
||||
---
|
||||
|
||||
# Watermark PDF {#watermark-pdf}
|
||||
|
||||
Stämpla en textvattenstämpel på varje sida i en PDF med konfigurerbar position, storlek, opacitet och rotation.
|
||||
|
||||
## API Endpoint {#api-endpoint}
|
||||
|
||||
`POST /api/v1/tools/pdf/watermark-pdf`
|
||||
|
||||
Tar emot multipart-formulärdata med en PDF-fil och ett JSON-fält `settings`.
|
||||
|
||||
## Parameters {#parameters}
|
||||
|
||||
| Parameter | Typ | Obligatorisk | Standard | Beskrivning |
|
||||
|-----------|------|----------|---------|-------------|
|
||||
| text | string | Ja | - | Vattenstämpeltext (1-200 tecken) |
|
||||
| position | string | Nej | `"c"` | Placering på sidan: `tl`, `tc`, `tr`, `l`, `c`, `r`, `bl`, `bc`, `br` |
|
||||
| fontSize | integer | Nej | `48` | Teckenstorlek i punkter (6-72) |
|
||||
| opacity | number | Nej | `0.3` | Vattenstämpelns opacitet (0.05-1) |
|
||||
| rotation | number | Nej | `45` | Rotationsvinkel i grader (-180 till 180) |
|
||||
|
||||
### Position Values {#position-values}
|
||||
|
||||
- `tl` uppe till vänster, `tc` uppe i mitten, `tr` uppe till höger
|
||||
- `l` mitten till vänster, `c` mitten, `r` mitten till höger
|
||||
- `bl` nere till vänster, `bc` nere i mitten, `br` nere till höger
|
||||
|
||||
## 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}
|
||||
|
||||
- Vattenstämpeln renderas som ett textöverlägg på varje sida.
|
||||
- Samma vattenstämpeltext, position och stil tillämpas enhetligt på alla sidor.
|
||||
- Använd lägre opacitetsvärden (0.1-0.3) för diskreta vattenstämplar som inte skymmer innehållet.
|
||||
Reference in New Issue
Block a user