PDA

View Full Version : [JS - JQuery - CSS] Stampare una immagine di sfondo con testo sopra


franksisca
29-06-2013, 11:07
Sallve a tutti, ho questa situazione

div con un contenuto testo, che deve essere stampato



function stampa() {
$('#printJobDiv').css("background-image", "url(/resources/app/portlet/gestione-documenti-portlet/img/pdf-background.png)");

var myWindow = window.open('', '', 'width=screen.availWidth,height=screen.availHeight');
myWindow.document.write($("#printJobDiv").text());
myWindow.document.close();
myWindow.focus();
myWindow.print();
myWindow.close();
}


per stamparlo io ho fatto così, solo che l'mmagine di sfondo non viene stampata per impostazioni di browser (ovviamente) che io non posso cambiare.
inoltre essendo l'immagine in formato A4 e il testo "molto poco", l'immagine non si vede proprio.

come posso forzargli la dimensione del div a quella dell'immagine? Posso bypassare il controllo sullo sfondo della stampa? Immaginando di no all'ultima domanda, posso schiaffarla come immagine sul div principale, che sò mettendogli un z-index -1000 ???

thanks in advance

OoZic
29-06-2013, 13:07
non è questione di browser, è questione che non gli stai proprio passando l'immagine nella new window da quel che vedo, con .text() gli stai passando solo il testo praticamente.

utilizzando questo plugin:
http://projects.erikzaadi.com/jQueryPlugins/jQuery.printElement/

segui un pò le istruzioni qui:
http://stackoverflow.com/questions/2356971/jquery-print-out-hidden-element

in linea di massima cmq usi .printElement e gli dai nelle opzioni overridecss con un nuovo foglio di stile identico al tuo attuale ma con l'immagine di sfondo cambiata secondo le tue necessità.

franksisca
29-06-2013, 13:13
non è questione di browser, è questione che non gli stai proprio passando l'immagine nella new window da quel che vedo, con .text() gli stai passando solo il testo praticamente.

utilizzando questo plugin:
http://projects.erikzaadi.com/jQueryPlugins/jQuery.printElement/

segui un pò le istruzioni qui:
http://stackoverflow.com/questions/2356971/jquery-print-out-hidden-element

in linea di massima cmq usi .printElement e gli dai nelle opzioni overridecss con un nuovo foglio di stile identico al tuo attuale ma con l'immagine di sfondo cambiata secondo le tue necessità.

non posso usare librerie esterne, e comunque quella era una versione rudimentale del codice...comuqnue ho "abbandonato" il problema perchè forse non è una specifica da risolvere in questa fase..quindi posso trascurarla, casomai mi rifarò vivo!!!