Utilización de la clase PrintUtil

La característica de impresión permite dividir el diagrama, o una sección concreta de éste, en varias superficies de un tamaño determinado para facilitar la impresión mediante las funciones de impresión estándar del navegador.
De las funciones de impresión se encarga la clase PrintUtil. Puede crear una instancia de esta clase y personalizarla.
Este código crea una instancia nueva de la clase PrintUtil y la personaliza:
var myPrintUtil = new ibm_ilog.diagram.util.PrintUtil({
                documentToPrint : other.document,
                getTargetSurfaceDiv: function(r,c) {
                    return this.documentToPrint.getElementById("div" + r + "_" + c);
                },
                postProcessing: function(r,c,surf,group){
                    dojo.style(surf.rawNode,{backgroundColor: '#888888'});
                }
            });
La llamada a función getTargetSurfaceDiv es obligatoria. Devuelve el elemento div donde se coloca la superficie de destino (con la fila y columna especificadas). postProcessing es un procedimiento opcional que personaliza la superficie o el grupo, si es necesario.
La clase PrintUtil tiene dos métodos públicos que aplican transformaciones de superficies a varias superficies:
  • printGraph: separa el boundingBox del gráfico especificado en pagesWidth para superficies horizontales y pagesHeight para superficies verticales. La dimensión de las superficies viene determinada por los parámetros de anchura y altura. Si no se proporciona ningún parámetro delimitador, se divide todo el gráfico.
  • printViewport: separa el encuadre del diagrama especificado en pagesWidth para superficies horizontales y pagesHeight para superficies verticales. La dimensión de las superficies viene determinada por los parámetros de anchura y altura.