Pergunta

Eu configurei um aplicativo para imprimir o estado atual do controle Eu estou usando (neste caso, um ArcGIS servidor de mapas ), mas eu gostaria de configurar uma função de impressão que usa seu próprio modelo para imprimir ao invés de pegar o estado do aplicativo.

Eu tenho tentado fazer isso através da criação de um componente Flex que estabelece os incisos I deseja imprimir e instanciar quando eu chamar o FlexPrintJob. Infelizmente, simplesmente instanciar que resulta na obtenção de um quadrado verde em branco.

Existem duas principais perguntas sobre este que eu gostaria de colocar lá fora. Primeiro, o que precisa ser feito para imprimir um modelo recém-instanciado, em vez de apenas pegar controles já existentes a partir da tela? Em segundo lugar, para mais controles que precisam carregar dados complexos de várias fontes, como um ArcGIS mapear, é possível instanciar-los nesse tipo de ambiente, ou se há uma maneira de ter uma imagem do controle na aplicação e imprimir essa ?

Foi útil?

Solução

I found that the best way to do it was to use the ImageSnapshot.captureBitmapData() method to get an image of the map as bitmap data, and then, if necessary, clip it into another BitMapData object using the copyPixels() method.

Once I'd done that, adding the template to the print job was simple:

Application.application.addChild(printTemplate);
printJob.addObject(printTemplate,FlexPrintJobScaleType.SHOW_ALL);
//printJob.printAsBitmap();
Application.application.removeChild(printTemplate);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top