Usando a Classe PrintUtil

O recurso de impressão permite dividir o diagrama ou uma seção concreta dele em várias superfícies de um determinado tamanho, para facilitar a impressão por meio de recursos de impressão do navegador padrão.
The printing functionality is performed by the PrintUtil class. É possível instanciar esta classe e customizá-la.
Este código instancia uma nova classe PrintUtil e customiza-a:
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'});
                }
            });
The getTargetSurfaceDiv function call is mandatory. Ela retorna o div em que a superfície de destino está localizada (com a dada linha e coluna). postProcessing é um procedimento opcional que customiza a superfície ou grupo, se necessário.
A classe PrintUtil possui dois métodos públicos que aplicam transformações de superfície a várias superfícies:
  • printGraph: separa o gráfico especificado boundingBox em pagesWidth para superfícies horizontais e pagesHeight para superfícies verticais. A dimensão das superfícies é especificada pelos parâmetros de largura e altura. Se nenhum parâmetro delimitador for especificado, o gráfico completo será dividido.
  • printViewport: separa a porta de visualização do diagrama especificada em pagesWidth para superfícies horizontais e pagesHeight para superfícies verticais. A dimensão das superfícies é especificada pelos parâmetros de largura e altura