Alle Beiträge
|Auch verfügbar in:EN

Bilder als Dokumente in PDFs auf DIN A4 Seiten einbetten

Bilder oder PDF-Seiten mit der MaraDocs API auf eine leere DIN A4- (oder benutzerdefinierte) Seite platzieren. Zentrieren, skalieren, Standardformate.

Martin Kurtz
APIPDFBildDokumentenverarbeitungEntwickler
Bilder als Dokumente in PDFs auf DIN A4 Seiten einbetten

Fotos oder kleine Dokumente müssen oft auf einer Standardseite platziert werden – DIN A4, Letter oder einer benutzerdefinierten Größe – zentriert und korrekt skaliert. Reportlab oder ähnliche Tools können das leisten, erfordern aber Layout-Mathematik und Formatbehandlung. Eine API zum Platzieren von Bildern auf leeren Seiten, die Inhalte auf einer konfigurierbaren Seite einbettet, würde diesen Workflow vereinfachen.

Warum eine eigene Lösung zum Platzieren von Bildern auf leeren Seiten Wochen dauert

Wer das selbst aufbauen möchte, stellt schnell fest, dass man die Skalierung berechnen muss, um den Inhalt innerhalb der Seite einzupassen, ihn zu zentrieren und verschiedene Seitenverhältnisse zu berücksichtigen. Reportlab, PyMuPDF oder PIL können das – aber man muss DPI, Ränder und Koordinatensysteme verwalten. Für PDFs: jede Seite zuerst in ein Bild rendern, dann einbetten. Eine robuste API zum Einbetten von Bildern auf Seiten zu bauen erfordert Layout-Logik und Tests.

Wie die MaraDocs API zum Platzieren von Bildern auf leeren Seiten das in Minuten löst

Die MaraDocs API unterstützt embed_in_blank_page in img.toPdf und img.ocrToPdf. Seitengröße angeben (z. B. 210×297 mm für A4, oder Letter, oder eine benutzerdefinierte Größe) und Position (z. B. Mitte). Die API übernimmt Skalierung, Seitenverhältnis und Ränder. Für PDFs: mit pdf.toImg in Bilder rendern, dann img.toPdf mit embed_in_blank_page verwenden. Keine Layout-Mathematik, keine DPI-Umrechnungen, keine Formatbehandlung auf der eigenen Seite. Ein oder zwei API-Aufrufe und man erhält ein korrekt formatiertes PDF.

Workflow: Validieren, Einbetten, Herunterladen

Für Bilder: validieren, dann img.toPdf mit options.embed_in_blank_page – Seitengröße angeben (z. B. 210×297 mm für A4) und Position (z. B. Mitte). Für PDFs: validieren, pdf.toImg zum Rendern von Seiten als Bilder verwenden, dann img.toPdf mit Einbettungsoptionen. Das Ergebnis ist ein PDF-Handle, das heruntergeladen oder an OCR, Komposition oder Optimierung weitergegeben werden kann. Die API übernimmt Skalierung, Zentrierung und Formatkonvertierung; Layout-Mathematik und Koordinatensysteme entfallen.

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 →

Was MaraDocs unterscheidet: Workspaces, Webview und deutsches Datenschutzrecht

Die meisten Dokumenten-APIs zwingen zum Hochladen, Verarbeiten, Herunterladen und erneuten Hochladen für den nächsten Schritt. Bei MaraDocs bleiben Dateien im Workspace. Mit OCR, Komposition oder Komprimierung verketten – das PDF-Handle fließt direkt zur nächsten Operation. Kein erneutes Hochladen, weniger Roundtrips.

Wenn Layout oder Skalierung manuell angepasst werden muss – Ränder, Positionierung oder Seitengröße – kann app.maradocs.io für manuelle Prüfung und Anpassung geöffnet werden. Nutzer erhalten volle manuelle Kontrolle, wenn die Automatisierung an ihre Grenzen stößt.

Die gesamte Verarbeitung erfolgt in Deutschland (Maramia GmbH), verschlüsselt im Ruhezustand und während der Übertragung. Workspaces verfallen nach 7 Tagen. Keine Daten verlassen die EU. Für datenschutzsensible Dokumenten-Workflows ist das relevant.

TypeScript-Code zum Einbetten von Bildern in PDF-Seiten

API-Referenz: data/upload, img/validate, img/to/pdf, pdf/to/img, pdf/validate, data/download/pdf

import { MaraDocsClient } from "@maramia/maradocs-sdk-ts";
import { okImg } from "@maramia/maradocs-sdk-ts/models/img";
import { okPdf } from "@maramia/maradocs-sdk-ts/models/pdf";

const client = new MaraDocsClient({ workspaceSecret: workspace_secret });

// Bild: hochladen, validieren, auf A4 einbetten, herunterladen
const upImg = await client.data.upload(imageFile);
const valImg = await client.img.validate({ unvalidated_file_handle: upImg.unvalidated_file_handle });
const imgHandle = okImg(valImg);

const pdf = await client.img.toPdf({
  img_handle: imgHandle,
  options: {
    embed_in_blank_page: { size: { width: 210, height: 297 }, position: "center" },
  },
});
const blob = await client.data.downloadPdf({ pdf_handle: pdf.pdf_handle });

// PDF: hochladen, validieren, Seite als Bild rendern, einbetten, herunterladen
const upPdf = await client.data.upload(pdfFile);
const valPdf = await client.pdf.validate({ unvalidated_file_handle: upPdf.unvalidated_file_handle });
const imgResult = await client.pdf.toImg({
  pdf_handle: okPdf(valPdf),
  pages: [0],
});
const pdfPage = await client.img.toPdf({
  img_handle: imgResult.img_handles[0],
  options: { embed_in_blank_page: { size: { width: 210, height: 297 }, position: "center" } },
});
const blob2 = await client.data.downloadPdf({ pdf_handle: pdfPage.pdf_handle });

Python-Code zum Einbetten von Bildern in PDF-Seiten

API-Referenz: data/upload, img/validate, img/to/pdf, data/download/pdf

import requests
import time

API_URL = "https://api.maradocs.io/v1"
headers = {"Authorization": f"Bearer {WORKSPACE_SECRET}"}

def poll(url, job_id):
    while True:
        r = requests.get(f"{url}/{job_id}", headers=headers).json()
        if r["status"] == "complete":
            return r["response"]["response"]
        time.sleep(1)

# 1. Hochladen, 2. Bild validieren
upload = requests.post(f"{API_URL}/data/upload", headers=headers, files={"file": (...)}).json()
val = requests.post(f"{API_URL}/img/validate", headers=headers,
    json={"unvalidated_file_handle": upload["unvalidated_file_handle"]}).json()
img_handle = poll(f"{API_URL}/img/validate", val["job_id"])["img_handle"]

# 3. In PDF umwandeln mit embed_in_blank_page
to_pdf = requests.post(f"{API_URL}/img/to/pdf", headers=headers, json={
    "img_handle": img_handle,
    "options": {"embed_in_blank_page": {"size": {"width": 210, "height": 297}, "position": "center"}},
}).json()
result = poll(f"{API_URL}/img/to/pdf", to_pdf["job_id"])

# 4. Herunterladen
pdf_resp = requests.get(f"{API_URL}/data/download/pdf", headers=headers,
    params={"pdf_handle": result["pdf_handle"]})
with open("on_a4.pdf", "wb") as out:
    out.write(pdf_resp.content)

Zusammenfassung und nächste Schritte

Eine API zum Platzieren von Bildern auf leeren Seiten für DIN A4 und benutzerdefinierte Größen ist verfügbar. MaraDocs unterstützt Bilder direkt; für PDFs zuerst in Bilder rendern. Weitere verwandte Workflows: Dokumentenscanner, PDF-Verarbeitung, Texterkennung und PDF-Komprimierung.


Jetzt ausprobieren: MaraDocs API | TypeScript SDK


Jetzt Newsletter abonnieren

Bleiben Sie mit uns auf dem Laufenden und erhalten Sie die neuesten Nachrichten, Artikel und Ressourcen per E-Mail.