Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <style>
- body{
- background-color: #777;
- }
- .frmPaginas{
- background-color: #AAA;
- padding:15px;
- width:45%;
- font-family: helvetica;
- }
- .frmPaginas .btnAceptar{
- width: 30%;
- transform: translate(0,150%);
- }
- </style>
- <script type="text/javascript">
- var imgs;
- var files;
- var cont;
- function seleccionarTamanio(s){
- var option = s.options[s.selectedIndex];
- document.forms[0].ancho.value=option.getAttribute("ancho");
- document.forms[0].alto.value=option.getAttribute("alto");
- }
- function hacer(){
- cont = 0;
- files = document.getElementById("paginas").files;
- imgs = [];
- cargarImagenes(files);
- }
- function cargarImagenes(files){
- for(var i = 0; i < files.length; i++)
- imgs.push(document.createElement("img"));
- cargarImagen(0);
- }
- function cargarImagen(i){
- var reader = new FileReader();
- reader.ordenImg = i;
- reader.onloadend = function () {
- imgs[reader.ordenImg].src = reader.result;
- imgs[reader.ordenImg].setAttribute("class","imgCarilla");
- if(reader.ordenImg == imgs.length - 1){
- terminarHacer();
- }
- else{
- cargarImagen(reader.ordenImg + 1);
- }
- }
- reader.readAsDataURL(files[i]); //reads the data as a URL
- }
- function terminarHacer(){
- crearDocumento(document,imgs);
- imprimir();
- }
- function crearDocumento(doc,imgs){
- if(imgs.length % 2 != 0) imgs.push(doc.createElement("img"));
- var len = imgs.length -1;
- var swap = false;
- for(var i = 0; i < imgs.length/2; i++){
- var divPag = doc.createElement("div");
- var divA = doc.createElement("div");
- var divB = doc.createElement("div");
- divA.setAttribute("class","divPagina");
- divB.setAttribute("class","divPagina");
- divPag.setAttribute("class","paginaImpresion");
- if(swap){
- divA.appendChild(imgs[i]);
- divB.appendChild(imgs[len - i]);
- }else{
- divA.appendChild(imgs[len - i]);
- divB.appendChild(imgs[i]);
- }
- swap = !swap;
- divPag.appendChild(divA);
- divPag.appendChild(divB);
- doc.body.appendChild(divPag);
- }
- var form = document.forms[0];
- var css = "@page{ height: " + form.alto.value + " ;width: " + form.ancho.value + " ; margin: " + form.margen.value + ";}\n";
- css += "body{background-color:black; margin:0}\n";
- css += ".paginaImpresion{page-break-after: always;}\n";
- css += ".divPagina{height:100%;width:50%;display:inline;}\n";
- css += ".imgCarilla{width:50%;}"
- var style = doc.createElement("style");
- style.type = 'text/css';
- if (style.styleSheet){
- style.styleSheet.cssText = css;
- } else {
- style.appendChild(document.createTextNode(css));
- }
- doc.head.appendChild(style);
- }
- function imprimir(){
- document.forms[0].style.display = "none";
- window.print();
- document.forms[0].style.display = "block";
- }
- function inicio(){
- seleccionarTamanio(document.getElementById("selectFormato"));
- }
- </script>
- </head>
- <body onload="inicio()">
- <form class="frmPaginas">
- <table style="display: inline;width:60%">
- <tr><td>Tamaño de pagina:</td><td><select id="selectFormato" onchange="seleccionarTamanio(this)">
- <option ancho="297" alto="210">A4</option>
- <option ancho="240" alto="297">A3</option>
- </select></td></tr>
- <tr><td>Ancho de página:</td><td><input name="ancho" /></td></tr>
- <tr><td>Alto de página:</td><td><input name="alto" /></td></tr>
- <tr><td>Margen:</td><td> <input name="margen" value="5mm"/></td></tr>
- <tr><td>Seleccionar imagenes:</td><td> <input id="paginas" name="paginas" type="file" multiple/></td></tr>
- </table>
- <button type="button" onclick="hacer()">Aceptar</button>
- <button type="button" onclick="imprimir()">Imprimir</button>
- </form>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment