Excel zu PDF — Tabellen sauber drucken ohne Office-Installation
Wandle .xlsx-Dateien in PDFs um, die dem Druck aus Excel entsprechen. Mit Druckbereichen, Wiederholungszeilen, Seitenausrichtung und PDF/A-Output.
Was es macht
Die API nimmt eine .xlsx-Datei entgegen und rendert sie als PDF — genauso, wie Excels Druckvorschau das Arbeitsblatt zeigen würde. Formeln werden ausgewertet, Formatierungen bleiben, Diagramme werden als Vektoren eingebettet.
Minimaler Request
curl -X POST https://api.dokmatiq.com/v1/convert/excel-to-pdf \
-H "Authorization: Bearer $DOKMATIQ_KEY" \
-F "document=@umsatz-q1.xlsx" \
-o umsatz-q1.pdf
Response: Content-Type: application/pdf, Status 200.
Druckoptionen
Die meisten Excel-Druckeinstellungen lassen sich überschreiben:
{
"orientation": "landscape",
"fitToPage": true,
"scaling": 100,
"printArea": "A1:H50",
"repeatRows": "1:3",
"repeatColumns": "A:A",
"gridlines": false,
"blackAndWhite": false,
"margins": { "top": "15mm", "bottom": "15mm", "left": "15mm", "right": "15mm" },
"headerFooter": {
"header": "&L&B&D&R&P / &N",
"footer": "&CVertraulich — nicht zur Weitergabe"
}
}
Im Workbook gesetzte Druckbereiche werden übernommen, falls keine eigenen Angaben gemacht werden.
Arbeitsblätter auswählen
Standardmäßig werden alle sichtbaren Arbeitsblätter konvertiert, jedes auf einer eigenen Seitenfolge. Für eine gezielte Auswahl:
{
"sheets": ["Zusammenfassung", "Details Q1", "Details Q2"],
"pageBetweenSheets": true
}
pageBetweenSheets: true garantiert, dass ein neues Sheet auf einer neuen Seite beginnt — sonst wird weitergedruckt, sobald Platz ist.
Was sauber konvertiert wird
- Zellformate (Zahlen, Datum, Währung, benutzerdefiniert)
- Bedingte Formatierung (Farbbalken, Datenskala, Symbolsätze)
- Zellen-Merges, Rahmen, Schattierungen
- Kopf- und Fußzeilen mit den üblichen Excel-Codes (
&P,&N,&D,&F,&A) - Diagramme (Säulen, Balken, Linien, Kreis, Streu) — als eingebettete SVGs
- Bilder in Zellen
- Formeln (werden serverseitig ausgewertet, inklusive INDIREKT/VERWEIS)
- Gruppierungen und Gliederungen (optional ausgeklappt)
Was besondere Aufmerksamkeit braucht
- VBA-Makros (
.xlsm): werden ignoriert, Werte bleiben als berechnete Zellen erhalten - Externe Verknüpfungen: werden nicht nachgeladen — die zuletzt in Excel gespeicherten Werte zählen
- ActiveX-Steuerelemente: nicht unterstützt
- Pivot-Tabellen mit externer Datenquelle: werden mit den gecachten Daten gerendert
- Bedingte Formatierung mit IF-Formeln: wird vollständig ausgewertet
Wofür man es einsetzt
- Monatsabschlüsse, Reporting-Exports aus BI-Tools, die Excel erzeugen
- Lieferscheine, Bestelllisten aus Warenwirtschaftssystemen
- Personal-Exporte, Lohnabrechnungen auf druckbarem Format
- Preislisten mit tausenden Zeilen für den Kundenversand
- Prüfprotokolle aus Qualitätssicherungs-Templates
Vergleich mit Alternativen
| Dokmatiq Excel-zu-PDF | Microsoft Excel (Server) | LibreOffice Calc Headless | xlsx-to-pdf (Node) | |
|---|---|---|---|---|
| Formeln auswerten | ja | ja | ja | begrenzt |
| Diagramme | Vektor | Vektor | Vektor | oft als Bild |
| Bedingte Formatierung | vollständig | vollständig | meist | eingeschränkt |
| Druckbereiche ehren | ja | ja | ja | oft nicht |
| Skalierung | API-seitig | problematisch | Daemon-Pflege | selbst |
| Layouttreue zur Excel-Druckvorschau | hoch | höchste | gut | mittel |
Für simple Tabellen reichen viele Open-Source-Bibliotheken. Sobald Formeln, Diagramme und bedingte Formatierung ins Spiel kommen, wird der Supportaufwand schnell teurer als eine API.
Häufige Stolpersteine
- „Das PDF hat zu viele Seiten” — Druckbereich (
printArea) oderfitToPage: truesetzen; sonst wird jede befüllte Zelle gedruckt - Spalten abgeschnitten —
fitToPage: trueauf Breite skalieren, ansonsten zoomt Excel auf „maßstabsgerechten” Druck - Schriften weichen ab — Corporate Fonts über den Font-Uploadendpunkt registrieren
- Lange Texte in Zellen — Textumbruch (
wrapText) muss in der Quelldatei aktiv sein; die API ändert kein Zelllayout
Direkt ausprobieren
100 Konvertierungen pro Monat kostenlos. Keine Kreditkarte. Stateless REST — du sendest, du bekommst.