Zum Inhalt springen

Auf Vercel bereitstellen ​

Vercel bietet die einfachste Bereitstellung für statische Websites.

Bereitstellung mit einem Klick ​

Deploy with Vercel

Manuelle Bereitstellung ​

Schritt 1: Repository forken ​

Forken Sie bentopdf/bentopdf in Ihr GitHub-Konto.

Schritt 2: In Vercel importieren ​

  1. Gehen Sie zu vercel.com/new
  2. Wählen Sie Ihr geforktes Repository aus
  3. Konfigurieren Sie das Projekt:
EinstellungWert
Framework PresetVite
Build Commandnpm run build
Output Directorydist
Install Commandnpm install

Schritt 3: Umgebungsvariablen (optional) ​

Fügen Sie diese bei Bedarf hinzu:

VariableBeschreibung
SIMPLE_MODEAuf true setzen für eine minimale Oberfläche
VITE_BRAND_NAMEEigener Markenname (ersetzt "BentoPDF")
VITE_BRAND_LOGOLogopfad relativ zu public/ (z. B. images/my-logo.svg)
VITE_FOOTER_TEXTEigener Footer-/Copyright-Text
VITE_DEFAULT_LANGUAGEStandardsprache der Oberfläche (z. B. fr, de, es)

Schritt 4: Bereitstellen ​

Klicken Sie auf "Deploy" und warten Sie, bis der Build abgeschlossen ist.

Eigene Domain ​

  1. Öffnen Sie die Einstellungen Ihres Projekts
  2. Navigieren Sie zu "Domains"
  3. Fügen Sie Ihre eigene Domain hinzu
  4. Konfigurieren Sie das DNS wie angegeben

Einschränkungen ​

Große Dateien

Die Serverless Functions von Vercel haben ein Limit von 50 MB. Da BentoPDF eine statische Website ist, sollte Sie das nicht betreffen, aber die WASM-Module sind groß (insgesamt ca. 100 MB). Stellen Sie sicher, dass sie aus dem Ordner /public ausgeliefert werden.

Fehlerbehebung ​

Build-Timeout ​

Wenn Builds in ein Timeout laufen, versuchen Sie Folgendes:

json
// vercel.json
{
  "buildCommand": "npm run build",
  "outputDirectory": "dist"
}

404 beim Neuladen ​

Fügen Sie eine vercel.json für das SPA-Routing hinzu:

json
{
  "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}

Word/ODT/Excel zu PDF funktioniert nicht ​

Die LibreOffice-WASM-Konvertierungen erfordern SharedArrayBuffer, wofür diese Response-Header auf allen Seiten nötig sind:

  • Cross-Origin-Embedder-Policy: require-corp
  • Cross-Origin-Opener-Policy: same-origin

Die vorkomprimierten Dateien .wasm.gz und .data.gz benötigen außerdem Content-Encoding: gzip, damit der Browser sie dekomprimiert.

Fügen Sie diese zu Ihrer vercel.json hinzu:

json
{
  "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }],
  "headers": [
    {
      "source": "/(.*)",
      "headers": [
        { "key": "Cross-Origin-Embedder-Policy", "value": "require-corp" },
        { "key": "Cross-Origin-Opener-Policy", "value": "same-origin" },
        { "key": "Cross-Origin-Resource-Policy", "value": "cross-origin" }
      ]
    },
    {
      "source": "/libreoffice-wasm/soffice.wasm.gz",
      "headers": [
        { "key": "Content-Type", "value": "application/wasm" },
        { "key": "Content-Encoding", "value": "gzip" }
      ]
    },
    {
      "source": "/libreoffice-wasm/soffice.data.gz",
      "headers": [
        { "key": "Content-Type", "value": "application/octet-stream" },
        { "key": "Content-Encoding", "value": "gzip" }
      ]
    }
  ]
}

Zur Überprüfung öffnen Sie die DevTools-Konsole und führen Sie console.log(window.crossOriginIsolated) aus. Es sollte true zurückgeben.

Doppelt lizenziert unter AGPL-3.0 und kommerzieller Lizenz.