• Domingo 22 de Diciembre de 2024, 18:56

Autor Tema:  Imprimir iframe con codigo en el fondo  (Leído 2100 veces)

abel_23

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Imprimir iframe con codigo en el fondo
« en: Miércoles 1 de Septiembre de 2010, 00:05 »
0
Buenas tardes experto tengo la siguiente duda, tengo un Iframe en una pagina aspx en donde se muestra información de otras paginas por lo que deseo imprimir la información que contenga el iframe, ya que esto lo he conseguido con este código:
  <script>
    function PrintIframe()
    {
    window.parent.nombre_del_iframe.focus();
    window.print();
    }
    </script>
 
Pero lo que deseo es que al momento de imprimir en la hoja salga en la parte de atrás el nombre del usuario en el centro asi como una marca de agua, tomando en cuenta que ya tengo el nombre del usuario en una variable de sesión, De antemano te agradesco tu ayuda.

abel_23

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Imprimir iframe con codigo en el fondo
« Respuesta #1 en: Jueves 2 de Septiembre de 2010, 03:50 »
0
Buenos mis avances hasta ahora es que en vez de usar un iframe uso ahora una etiqueta div que es mi contener de paginas web como lo leí en un post que encontré por ahí y hago lo hago de esta manera con una script
-----------------------------------------------------------------------------------------------------------------------------
<script >
        // Documento JavaScript
        // Esta función cargará las paginas
        function paginas(url, id_contenedor) {
            var pagina_requerida = false;
            if (window.XMLHttpRequest) {
                // Si es Mozilla, Safari etc
                pagina_requerida = new XMLHttpRequest();
            } else if (window.ActiveXObject) {
                // pero si es IE
                try {
                    pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP");
                }
                catch (e) {
                    // en caso que sea una versión antigua
                    try {
                        pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    catch (e) {
                    }
                }
            }
            else
                return false;
            pagina_requerida.onreadystatechange = function() {
                // función de respuesta
                cargarpagina(pagina_requerida, id_contenedor);
            }
            pagina_requerida.open('GET', url, true); // asignamos los métodos open y send
            pagina_requerida.send(null);
        }
        // todo es correcto y ha llegado el momento de poner la información requerida
        // en su sitio en la pagina xhtml
        function cargarpagina(pagina_requerida, id_contenedor) {
            if (pagina_requerida.readyState == 4 && (pagina_requerida.status == 200 || window.location.href.indexOf("http") == -1))
                document.getElementById(id_contenedor).innerHTML = pagina_requerida.responseText;
        }
-----------------------------------------------------------------------------------------------------------------------------

Este codigo me permite mostrar en el div el contenido de mi pagina que yo desee y este es mi div
-----------------------------------------------------------------------------------------------------------------------------

<div id="contenidos" style="width: 587px;" >                                          
</div>
-----------------------------------------------------------------------------------------------------------------------------
Y luego lo llamo con el siguiente enlace
-----------------------------------------------------------------------------------------------------------------------------
<a href="javascript:paginas('nombre_de_la_pagina.htm',’ contenidos');">documento</a>
-----------------------------------------------------------------------------------------------------------------------------
Hasta ya hice lo del div pero falta que me muestre la marca de agua del codigo del usuario, pero como hasta ahora he visto que las imágenes de fondo el IE no lo imprimi expecto que lo configures en opciones de internet, pero yo no puedo hacerlo en cada maquina asi que cree una funcion en javascript que me permite imprimir el fondo de la imagen aquí se los dejo para que puedan hacer sus pruebas:
-----------------------------------------------------------------------------------------------------------------------------
window.onload = function()
{   document.getElementById('fondoDocumento').style.height =    
    document.getElementById('contenidoDocumento').offset
    Height;
}
-----------------------------------------------------------------------------------------------------------------------------
Luego colocar dentro del body lo siguiente:
-----------------------------------------------------------------------------------------------------------------------------
<div id='fondoDocumento' style='position:absolute; left:0px; top:0px; z-index:1; width=100%; height=900; overflow:hidden;'>
<img src='nombre_imagen.gif' width='100%' />
</div>
<div id='contenidoDocumento' style='position:absolute; left:0px; top:0px; z-index:1; width=100%; background-repeat:repeat '>
    <lang=ES link=blue vlink=purple>
<div class=Section1>
-----------------------------------------------------------------------------------------------------------------------------
Deben de tomar en cuenta que todos los archivos estan un mismo directorio y con esto cuando imprimas la hoja (menu archivo=> vista previa de imprision) te mostrara la imagen de fondo como si fuera la marca de agua, pero hay va el reto por lo que les pido su ayuda, quisiera que la imagen se repita a lo largo de todo el documento ya que solo se muestra en la primera hoja, es bueno que todos aporten para asi poder sumar cada vez mas a nuestros conocimientos.