2012-01-05 12 views
9

¿Hay alguna forma de crear mediante programación (cliente o lado del servidor (PHP)) una imagen desde un DIV específico o una página completa (web)? Actualmente estoy creando un sitio web para cupones gratis y la idea es que cuando el usuario final haga clic en el botón "Imprimir", la aplicación abra una nueva pestaña/ventana con todos los cupones seleccionados como una sola imagen (JPG, PNG o etc.) en formato A4 listo para imprimir. Cada cupón tiene sus propios datos (nombre del artículo, precio, descripción, etc.), así que necesito que se haga programáticamente en una plantilla de cupón que diseñé.Programar crear imagen desde la página web o una sola DIV

No le pido que escriba un código para mí, solo para sugerir una solución que podría usar/desarrollar. Si aún no existe, lo subiré/publicaré gratis :)

Actualización: Lo hice con la biblioteca de PHP GD :) Todavía no estoy satisfecho con la idea de usar Imágenes en lugar de PDF, porque cada impresión da como resultado con diferentes Tamaños de cupón (imágenes) en diferentes PC. Es por eso que PDF podría ser una mejor solución. Puede verlo/probarlo en demo.svikuponi.ba - Simplemente seleccione algunos Cupones y haga clic en el botón PRINTAJ arriba.

+3

Sería mucho mejor (y más fácil) generar archivos PDF en lugar de imágenes; hay muchos métodos para hacerlo, ya sea desde PHP o mediante la conversión de HTML. – Viruzzo

+0

El sitio debe ser lo más simple posible, lo diseñé para que las personas mayores (no expiradas) pudieran realizar los pasos simples: seleccionar e imprimir cupones. Es por eso que prefiero el formato de imagen (el PDF necesitaría tener instalado Adobe y, eventualmente, el navegador mostraría la ventana emergente de descarga (quedenme, estaba viendo a pocas personas perderse con todo eso :)). – AlenBer

+0

La alma de la imagen sería: Presione: Control + P – AlenBer

Respuesta

2

en PHP, hay muchas funciones relacionadas con la imagen como imagettftext() en la biblioteca GD para más detalles, mira esto http://php.net/manual/en/book.image.php si GD no es suficiente, puede intentar imagick así

de la plantilla, puede intentar crear un identificador de color real en php desde su archivo (imagen) y agregar la parte de texto u otra cosa con todo tipo de efectos y códigos de barras, etc.

pero en su caso, sugeriría la creación de PDF dinámico ya que sería mejor con el formato en lugar de imagen simple, el pdf lib: http://www.fpdf.org/

+0

¿No significa eso que el usuario final debería tener instalado Adobe PDF? Estaba buscando un formato de imagen simplemente porque no necesita tener nada instalado, exceptuando el navegador, y el ancho/alto de la página también se generaría automáticamente para que el usuario final no se preocupe por su correcto uso. – AlenBer

+1

Creo que PDF es un formato ampliamente utilizado y muy pocas computadoras no tienen lector de PDF, al igual que flash. pero de todos modos, todavía puedes usar mi sugerencia en la parte de plantilla de imagen de GD + – tom91136

4

Aquí es una gran manera para que pueda crear imágenes en el lado del cliente: http://smus.com/screen-capture-for-chrome-os

Usted puede tomar esto y crear una aplicación web que funciona muy bien en WebKit (para otros navegadores - Voy a mirar a JS polyfills).

1

fácilmente podría tener una imagen de fondo de su token/voucher y superponer el texto utilizando algunas variables de php.

Creo que es posible crear un código de barras único con imágenes de php también.

+0

. Tuve la misma idea, tener una plantilla predeterminada y simplemente anular los datos de texto sobre ella. ¿Es una mejor práctica hacer el procesamiento en el lado del servidor o de alguna manera en el lado del cliente? – AlenBer

+0

del lado del cliente disminuiría la carga del servidor, pero luego todos los usuarios deben cumplir con los "requisitos del lado del cliente" como Java applet – tom91136

+0

depender únicamente del cliente no siempre es una buena idea, no hay garantías en JavaScript. En el lado del servidor hay más carga, pero para sus necesidades esto no tomaría mucho tiempo, ya que solo hace eco de variables para visualizar y posiblemente crear una imagen. a menos que millones de su bono lo descargue, votaría en el lado del servidor. – ChelseaStats

1

Es posible obtener un screenshot desde una página web, pero esto es bastante complicado. Debes iniciar un navegador web para mostrar la página y obtener una captura de pantalla de eso.

Probablemente sea mejor analizando algunas especificaciones y alimentándolas con un par de GD o funciones de Imagick. Esto es menos versátil, pero más fácil de administrar.

4

nadie mencionar html2canvas y/o jsfeedback?

Crea una captura de pantalla de página completamente en javascript, luego puede enviarla al servidor a través de ajax ..

Obviamente, el soporte de CSS carece de algunas cosas.

Cuestiones relacionadas