Por que o PDF fica em branco ao tentar criar uma versão PDF de um componente flexível?

StackOverflow https://stackoverflow.com/questions/6060629

  •  15-11-2019
  •  | 
  •  

Pergunta

Eu tenho um componente flex, um VBox, que contém conteúdo.Componentes de texto principalmente.

O VBox está segurando um relatório que desejo salvar em PDF.estou usando VivoPdf para conseguir isso, mas o PDF produzido fica em branco quando visualizado no Adobe Reader (versão mais recente).

Quando abro o PDF no Notepad++, vejo que definitivamente há conteúdo nele e o arquivo parece estar estruturado corretamente.

Este é o método que estou usando para gerar o PDF:

private function doPrint(whatToPrint:UIComponent):void
{
    var printPDF:PDF = new PDF( Orientation.LANDSCAPE, Unit.MM, Size.A4 );
    printPDF.setDisplayMode( Display.FULL_PAGE, Layout.SINGLE_PAGE );
    printPDF.addPage();
    printPDF.addImage( whatToPrint, 0, 0, 0, 0, 'PNG', 100, 1, ResizeMode.FIT_TO_PAGE );

    // The string here looks to have produced a valid PDF but it doesn't render correctly
    var content:String = printPDF.save(Method.LOCAL);

    // Custom save file data in here, removed for clarity of issue
}
Foi útil?

Solução

Experimente isto:

private function doPrint(whatToPrint:UIComponent):void
{
    var printPDF:PDF = new PDF( Orientation.LANDSCAPE, Unit.MM, Size.A4 );
    printPDF.setDisplayMode( Display.FULL_PAGE, Layout.SINGLE_PAGE );
    whatToPrint.validateNow();
    printPDF.addPage();
    printPDF.addImage( whatToPrint, 0, 0, 0, 0, 'PNG', 100, 1, ResizeMode.FIT_TO_PAGE );

    // The string here looks to have produced a valid PDF but it doesn't render correctly
    var content:String = printPDF.save(Method.LOCAL);

    // Custom save file data in here, removed for clarity of issue
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top