Dokumentskanner-API – Trekk ut dokumenter fra bilder automatisk
Bygg en dokumentskanner-app med MaraDocs API. Gjenkjenn, beskjær og trekk ut dokumenter fra smarttelefonbilder automatisk – uten OpenCV eller ML-modeller. (Med kodeeksempler)
Mottar du dokumenter som bilder i e-postvedlegg? I advokatfirmaet til våre gründere var dette et ikke ubetydelig problem som bandt manuell arbeidstid. Klienter fotograferer fakturaer, ulykkesrapporter og kontrakter på kjøkkenbordet og trykker send. Man mottar forvrengde JPG-er som må beskjæres, perspektivkorrigeres og konverteres til PDF før arkivering.
En dokumentskanner-app-API som gjenkjenner dokumentgrensen, korrigerer perspektivet og leverer en ren PDF, ville spare timer. Det høres enkelt ut – men å bygge det selv er det sjelden.
Hvorfor en egen dokumentskanner-app tar uker
Den som ønsker å bygge en dokumentutvinnelsesløsning internt, griper raskt til OpenCV for kantgjenkjenning og perspektivtransformasjoner, Tesseract eller en sky-OCR for tekstgjenkjenning, PyMuPDF eller reportlab for PDF-generering og Pillow for bildebehandling. Kanskje kommer det i tillegg en dokumentgjenkjenningsmodell (f.eks. Layout-Transformer eller SAM-baserte segmenterere) for robust gjenkjenning. Hver del fungerer isolert; å koble dem sammen til en pålitelig pipeline med korrekt feilhåndtering, virusskanning og formatvalidering tar uker. ML-modeller krever GPU-infrastruktur, modellhosting og vedlikehold. De fleste utviklere innser raskt at det trengs mer enn et helgeprosjekt.
Hvordan MaraDocs dokumentskanner-API løser dette på minutter
MaraDocs dokumentbehandlings-API gjør denne arbeidsflyten om til noen få API-kall. Samme opplasting, validering og kjedet behandling – men uten integrasjonsarbeidet. Last opp et bilde, valider det (virusskanning og formatsjekker inkludert), gjenkjenn dokumenter i bildet, trekk ut hvert enkelt og perspektivkorrigér, og konvertér til PDF – alt via ett enkelt REST-API. Ingen ML-infrastruktur, intet Python-avhengighetskos.
Dokumentskanner-arbeidsflyt: Last opp, valider, trekk ut, konvertér
Hver MaraDocs-arbeidsflyt følger samme mønster: last opp en fil, valider (virusskanning + formatvalidering), deretter kjedet operasjoner. Validering er obligatorisk og skjer før all behandling. Hvis en fil er infisert eller skadet, får man en klar feilmelding – ingen behandling av data man ikke kan stole på.
Etter validering kjedes operasjoner sammen ved å overføre handles. For en dokumentskanner-flyt: valider bildet, kall findDocuments for å få firkantkoordinater, kall extractQuadrilateral for hvert gjenkjent dokument, deretter konvertér med toPdf eller ocrToPdf for søkbar output til PDF. Hele pipelinen forblir på serversiden; samme fil lastes aldri opp på nytt.
Get your API key in under a minute
Register for a free account and get your API key in under a minute. Of course we'll provide you with some developer credits.
Try MaraDocs API now →Hva som skiller MaraDocs: Workspaces, webvisning og tysk personvernlovgivning
De fleste dokument-API-er tvinger til opplasting, nedlasting og ny opplasting for hvert behandlingssteg. Det betyr ekstra rundturer, mer kode for å spore filidentiteter og høyere ventetid. MaraDocs bruker i stedet workspaces: Din egen server oppretter et workspace med en hemmelig nøkkel og får et workspace_secret. Klienten (nettleser eller backend) bruker dette tokenet for alle operasjoner. Filer forblir på serversiden; handles overføres mellom stegene. Man kjeder sammen valider → søk → trekk ut → toPdf → last ned med flytende handles – ingen ny opplasting, færre nettverkskall, enklere kode.
Noen ganger støter automatiseringen på et spesialtilfelle: en vanskelig vinkel, flere dokumenter i ett bilde eller et format som må justeres manuelt. Med MaraDocs kan app.maradocs.io åpnes for å vise, omorganisere og redigere filer direkte med workspace-secret. Brukere får full manuell kontroll når pipelinen trenger menneskelig inngrep – en sjelden fordel i forhold til API-er som bare tilbyr programmatisk tilgang.
All behandling skjer på servere i Tyskland under kontroll av Maramia GmbH. Data er kryptert i ro (SSE-C) og under overføring (TLS). Workspaces utløper etter 7 dager. Ingen data forlater EU. Ved behov er en databehandleravtale tilgjengelig. For GDPR- og BDSG-sensitive arbeidsbelastninger er dette relevant.
TypeScript-kode for å trekke ut dokumenter fra bilder
MaraDocs TypeScript SDK tar seg av polling for asynkrone jobber. Fullstendig flyt med opplasting, validering, behandling og nedlasting.
API-referanse: workspace, data/upload, img/validate, img/find/documents, img/extract/quadrilateral, img/ocr/to/pdf, data/download/pdf
import { MaraDocsServer, MaraDocsClient } from "@maramia/maradocs-sdk-ts";
import { okImg } from "@maramia/maradocs-sdk-ts/models/img";
// Server: Opprett workspace
const server = new MaraDocsServer({ secretKey: process.env.MARADOCS_SECRET_KEY! });
const { workspace_secret } = await server.workspace.create({});
// Klient: last opp, valider, søk dokumenter, trekk ut, OCR, last ned
const client = new MaraDocsClient({ workspaceSecret: workspace_secret });
const uploaded = await client.data.upload(imageFile);
const validated = await client.img.validate({
unvalidated_file_handle: uploaded.unvalidated_file_handle,
});
const imgHandle = okImg(validated);
const docs = await client.img.findDocuments({ img_handle: imgHandle });
if (docs.documents.length > 0) {
const extracted = await client.img.extractQuadrilateral({
img_handle: imgHandle,
quadrilateral: docs.documents[0].quadrilateral,
});
const pdf = await client.img.ocrToPdf({
img_handle: extracted.img_handle,
});
const blob = await client.data.downloadPdf({ pdf_handle: pdf.pdf_handle });
}
Eller bruk flow.ocrImg for en komplett pipeline (last opp, valider, søk, trekk ut, juster, OCR, optimaliser) i ett kall:
const pdfHandle = await client.flow.ocrImg(imageFile);
const blob = await client.data.downloadPdf({ pdf_handle: pdfHandle });
Python-kode for dokumentutvinning
API-referanse: data/upload, img/validate, img/find/documents, img/extract/quadrilateral, img/ocr/to/pdf, data/download/pdf
import requests
import time
API_URL = "https://api.maradocs.io/v1"
WORKSPACE_SECRET = "..." # fra din egen server
headers = {"Authorization": f"Bearer {WORKSPACE_SECRET}"}
def poll(job_url, job_id):
while True:
r = requests.get(f"{job_url}/{job_id}", headers=headers).json()
if r["status"] == "complete":
return r["response"]["response"]
time.sleep(1)
# 1. Last opp
with open("photo.jpg", "rb") as f:
upload = requests.post(f"{API_URL}/data/upload", headers=headers,
files={"file": ("photo.jpg", f, "image/jpeg")}).json()
handle = upload["unvalidated_file_handle"]
# 2. Valider
val = requests.post(f"{API_URL}/img/validate", headers=headers,
json={"unvalidated_file_handle": handle}).json()
img_handle = poll(f"{API_URL}/img/validate", val["job_id"])["img_handle"]
# 3. Søk dokumenter, 4. Trekk ut, 5. OCR til PDF (forenklet; hver jobb polles)
find_res = requests.post(f"{API_URL}/img/find/documents", headers=headers,
json={"img_handle": img_handle}).json()
find_data = poll(f"{API_URL}/img/find/documents", find_res["job_id"])
if find_data.get("documents"):
quad = find_data["documents"][0]["quadrilateral"]
ext_res = requests.post(f"{API_URL}/img/extract/quadrilateral", headers=headers,
json={"img_handle": img_handle, "quadrilateral": quad}).json()
extracted = poll(f"{API_URL}/img/extract/quadrilateral", ext_res["job_id"])
ocr_res = requests.post(f"{API_URL}/img/ocr/to/pdf", headers=headers,
json={"img_handle": extracted["img_handle"]}).json()
ocr_data = poll(f"{API_URL}/img/ocr/to/pdf", ocr_res["job_id"])
pdf_handle = ocr_data["pdf_handle"]
# 6. Last ned
pdf_resp = requests.get(f"{API_URL}/data/download/pdf", headers=headers,
params={"pdf_handle": pdf_handle})
with open("output.pdf", "wb") as out:
out.write(pdf_resp.content)
Oppsummering: Dokumentskanner-API uten integrasjonsarbeid
En dokumentskanner-app-API som trekker ut dokumenter fra bilder, korrigerer perspektiv og leverer PDF-er, er innen rekkevidde. Med MaraDocs faller ukesvis med integrasjon av OpenCV, Tesseract og ML-modeller bort. Validering, workspaces, webvisning og tysk datalagring følger med direkte.
Flere bruksområder: PDF-behandling – Slå sammen, del opp, automatisk rotering, Automatisk rotering og retningsgjenkjenning, Tekstgjenkjenning (OCR) og Plasser bilde eller PDF på tom DIN A4-side.
Prøv nå: MaraDocs API | TypeScript SDK
Abonner på nyhetsbrevet nå
Hold deg oppdatert og motta de siste nyhetene, artikler og ressurser via e-post.