Vés al contingut

Desplega a Vercel ​

Vercel ofereix l'experiència de desplegament més senzilla per a llocs estàtics.

Desplegament amb un clic ​

Deploy with Vercel

Desplegament manual ​

Pas 1: fes un fork del repositori ​

Fes un fork de bentopdf/bentopdf al teu compte de GitHub.

Pas 2: importa'l a Vercel ​

  1. Ves a vercel.com/new
  2. Selecciona el repositori del teu fork
  3. Configura el projecte:
ParàmetreValor
Framework PresetVite
Build Commandnpm run build
Output Directorydist
Install Commandnpm install

Pas 3: variables d'entorn (opcional) ​

Afegeix-les si cal:

VariableDescripció
SIMPLE_MODEPosa-ho a true per a una interfície mínima
VITE_BRAND_NAMENom de marca personalitzat (substitueix "BentoPDF")
VITE_BRAND_LOGORuta del logotip relativa a public/ (p. ex. images/my-logo.svg)
VITE_FOOTER_TEXTText personalitzat del peu de pàgina o dels drets d'autor
VITE_DEFAULT_LANGUAGEIdioma per defecte de la interfície (p. ex. fr, de, es)

Pas 4: desplega ​

Fes clic a "Deploy" i espera que s'acabi la compilació.

Domini personalitzat ​

  1. Ves a la configuració del projecte
  2. Navega a "Domains"
  3. Afegeix el teu domini personalitzat
  4. Configura el DNS segons les instruccions

Limitacions ​

Fitxers grans

Les funcions serverless de Vercel tenen un límit de 50 MB. Com que BentoPDF és un lloc estàtic, això no hauria d'afectar-te, però els mòduls WASM són grans (~100 MB en total). Assegura't que es serveixin des de la carpeta /public.

Resolució de problemes ​

Temps d'espera de la compilació esgotat ​

Si les compilacions s'esgoten, prova això:

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

404 en actualitzar la pàgina ​

Afegeix un vercel.json per a l'encaminament SPA:

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

La conversió de Word/ODT/Excel a PDF no funciona ​

Les conversions de LibreOffice WASM requereixen SharedArrayBuffer, que necessita aquestes capçaleres de resposta a totes les pàgines:

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

Els fitxers precomprimits .wasm.gz i .data.gz també necessiten Content-Encoding: gzip perquè el navegador els descomprimeixi.

Afegeix-ho al teu vercel.json:

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" }
      ]
    }
  ]
}

Per verificar-ho, obre la consola de DevTools i executa console.log(window.crossOriginIsolated): hauria de retornar true.

Doble llicència: AGPL-3.0 i llicència comercial.