Saltar al contenido
WebViewGold Del vibe coding a la App Store
Español
Consigue WebViewGold

Bolt + impresión

Imprime desde tu app de Bolt con AirPrint y la impresión de Android

El botón de imprimir que funciona en el navegador suele quedarse mudo dentro de una app, porque los WebViews de las apps no gestionan window.print() como Safari o Chrome. WebViewGold le da a tu app de Bolt una alternativa nativa: printitem:// descarga un PDF o una imagen de tu servidor y abre el diálogo de impresión del sistema, AirPrint en iPhone y el servicio de impresión de Android, con Guardar como PDF como opción.

Desde $109 de pago único por plataforma, o deja que nuestro equipo lo haga todo desde $698.

  • Garantía de aprobación – o te devolvemos el dinero en 14 días
  • Sin programar
  • Pago único, actualizaciones gratuitas
  • Soporte humano 24/7
  • Hecho en Alemania desde 2014 · ISO 27001

Lo que la gente imprime desde las apps

Facturas y recibos

Herramientas para pequeños negocios, apps de reservas y marketplaces: el cliente o la tienda imprime la factura que tu backend ya genera.

Entradas, etiquetas y acreditaciones

Entradas para eventos, etiquetas de envío, acreditaciones con nombre, pases de check-in con código QR. Genéralos como PDF en el tamaño de papel adecuado e imprímelos con dos toques.

Informes, fichas y recetas

Informes semanales, fichas escolares, planes de entrenamiento, recetas y listas de comprobación que la gente todavía quiere en papel o como un PDF bien presentado.

Certificados y confirmaciones

Certificados de cursos, confirmaciones de reserva y acuerdos firmados, impresos o guardados como PDF directamente desde la pantalla en la que el usuario los ve.

Prompt para Bolt

Pega esto en Bolt para implementar la parte de la web app. Revisa el resultado, publica y luego prueba dentro de la app WebViewGold.

Prompt para pegar en Bolt
Añade impresión nativa de entradas para el envoltorio de app WebViewGold. 1) Crea una Netlify Function print-ticket servida en la ruta limpia /print/:token (sin query string) que verifique un token firmado con HMAC usando PRINT_SIGNING_SECRET del entorno, cargue la entrada de Supabase con la service role key y devuelva un PDF (Content-Type application/pdf) con tamaño A6 o de 4 x 6 pulgadas. 2) Añade una Netlify Function print-link que, para el usuario con sesión iniciada, devuelva https://OUR_DOMAIN/print/TOKEN con un token válido durante 5 minutos. 3) En la página de la entrada, añade un botón Imprimir: cuando navigator.userAgent contenga WebViewGold, obtén el enlace y navega a "printitem://?jobName=" + encodeURIComponent("Entrada " + code) + "&printItem=" + link; en un navegador, abre el enlace en su lugar. 4) No expongas nunca el secreto de firma ni la service role key en una variable VITE_. 5) Muestra un spinner mientras se prepara el PDF.

¡Gran trabajo! Nunca tuve que usar código para nada, pero logré trabajar con esto y tener mi App lista. ¡Fácil y rápido! ¡También con gran ayuda de los creadores!

Lucas DuBois · CodeCanyon

Añade un botón de imprimir que funcione

Alrededor de una hora, casi toda para la plantilla del PDF.

  1. Genera un archivo imprimible

    Genera la factura, la entrada o el informe como PDF (o PNG/JPG) en el servidor, en el tamaño del papel que esperas: Carta o A4, una etiqueta de 4 × 6 pulgadas, una entrada. En Android, las imágenes se escalan para ajustarse a la página.

  2. Haz que la URL sea accesible sin inicio de sesión

    La app descarga ella misma el archivo de printItem, y la documentación exige que esa URL sea accesible públicamente desde el dispositivo. Usa un enlace firmado de corta duración y mantenlo libre de & y #, por ejemplo https://app.yourdomain.com/print/8f3a2c.pdf.

  3. Llama a printitem:// desde el botón

    Navega a printitem://?jobName=Factura%20%23123&printItem=https://…/invoice.pdf. printItem es obligatorio; jobName es opcional y debe ir codificado para URL (sin él, Android muestra "Print Job"). Deja printItem al final, como en la documentación.

  4. Conserva la vía del navegador

    Detecta la app mediante el user agent personalizado que configuraste en WebViewGold. En un navegador normal, mantén window.print() o abre el PDF para que su visor lo imprima.

  5. Prueba con una impresora y con Guardar como PDF

    Imprime un PDF de varias páginas y una imagen en iPhone y en Android, y prueba Guardar como PDF. Revisa los márgenes, los saltos de página y el nombre del trabajo en la cola de impresión.

Un helper de impresión para app y navegador

El helper pide a tu servidor una URL de archivo de corta duración y elige la vía correcta. En tu app de Bolt, la ruta del PDF va en: Supabase, Firebase o tu propia API.

javascript
var IN_APP = navigator.userAgent.indexOf("WebViewGold") !== -1; // tu token de user agent personalizado

async function printInvoice(invoiceId) {
  // el servidor genera un PDF y devuelve un enlace de corta duración accesible públicamente
  var res = await fetch("/api/invoices/" + invoiceId + "/print-link", { method: "POST" });
  var link = (await res.json()).url; // p. ej. https://app.yourdomain.com/print/8f3a2c.pdf

  if (IN_APP) {
    var job = encodeURIComponent("Factura " + invoiceId);
    window.location.href = "printitem://?jobName=" + job + "&printItem=" + link; // printItem al final
  } else {
    window.location.assign(link); // navegador: el visor de PDF lo imprime
  }
}

Conviene saberlo antes de publicar

  • Imprimir en sí no muestra ninguna solicitud de permiso. El archivo se guarda temporalmente en caché en el dispositivo; en Android se elimina en cuanto el trabajo entra en la cola.
  • Las impresoras de tickets Bluetooth que no admiten ni AirPrint ni el servicio de impresión de Android no están cubiertas: necesitan el SDK del fabricante, lo que implica una integración nativa a medida.
  • No incluyas datos personales en los nombres de archivo ni en los nombres de trabajo; las colas de impresión y los registros de las impresoras los conservan.
  • La impresión es una función nativa creíble para apps de negocio (facturas, entradas, etiquetas). Inclúyela en las notas de revisión junto con tus otras funciones nativas; por sí sola no basta como argumento frente a la Directriz 4.2.

Preguntas frecuentes

¿Por qué window.print() no hace nada en la app?

Los WebViews de las apps no implementan el comando de impresión del navegador como Safari y Chrome, así que la llamada no suele tener ningún efecto. printitem:// entrega en su lugar un archivo al sistema de impresión nativo, que además gestiona los PDF de varias páginas de forma más fiable.

¿Pueden los usuarios guardar un PDF en lugar de imprimir?

Sí. Android ofrece Guardar como PDF en el diálogo de impresión, y en iOS los usuarios pueden guardar o compartir el documento desde las opciones de impresión. Mucha gente usa justo eso para archivar facturas.

¿Puedo imprimir la pantalla que está viendo el usuario?

printitem:// imprime un archivo desde una URL. Genera esa vista como PDF en el servidor (la mayoría de los stacks tienen una biblioteca de PDF o un navegador headless para esto) y pasa el enlace; además, en papel queda mejor que el diseño web.

¿El archivo tiene que ser público?

Tiene que ser accesible desde el dispositivo sin tu inicio de sesión. Un enlace firmado que caduca a los pocos minutos lo consigue sin exponer las facturas de forma permanente.

Tres formas de llevar tu app a las tiendas

El mismo resultado, con distinta cantidad de trabajo por tu parte. Las tres incluyen la garantía de aprobación y soporte humano 24/7.

Hazlo tú mismo

$109 por plataforma, pago único

La licencia de WebViewGold: un proyecto de Xcode o Android Studio listo para usar. Pega tu URL, define nombre e icono, activa funciones, compila y envía. Actualizaciones gratuitas para siempre.

Ver planes en la página principal

Full Service

$698 por plataforma $798

Envíanos tu URL y tu icono. Nuestro equipo configura, compila y entrega tu app en 72 horas, en marca blanca y con los proyectos fuente. Ambas plataformas por $1,158.

Detalles del Full Service Con tecnología de WeSetupYourWebViewApp

Precios de la Oferta de invierno válidos hasta el 31 de diciembre de 2026.

¿Listo para lanzar tu app de Bolt?

Garantía de aprobación en App Store & Google Play – o te devolvemos el dinero en 14 días

¿Prefieres delegarlo? Full Service: configuramos, compilamos y entregamos en 72 horas, desde $698 por plataforma. ¿Preguntas? Chatea con nosotros 24/7.

Los reembolsos se conceden bajo las condiciones indicadas en nuestras FAQ: un rechazo por motivos ajenos al contenido por parte de Apple y/o Google, reclamado dentro de los 14 días posteriores a la compra.