Por que o PDF fica em branco ao tentar criar uma versão PDF de um componente flexível?
-
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
}
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