J'essaie d'imprimer un fichier SWF et j'ai rencontré des problèmes. Lorsque vous utilisez la fonction Imprimer dans le navigateur, le fichier SWF est déformé et n'est pas mis à l'échelle correctement. J'ai donc essayé d'implémenter une fonction d'impression en utilisant Actionscript à la place.Problèmes lors de l'impression d'un fichier SWF dans un navigateur
Les différentes approches que j'ai prises sont:
- Impression à l'aide du menu contextuel contextuel de clic de Flash Player et choisissez Imprimer. Cela fonctionne presque comme prévu, mais il aplatit les fichiers PNG transparents et n'est pas mis à l'échelle correctement.
- Création d'un FlexPrintJob et ajout du composant au travail. Ne redimensionnera pas le composant pour l'adapter à la page, même si j'ai défini FlexPrintJobScaleType.SHOW_ALL sur le travail d'impression.
- Création d'une PrintView contenant une image. Ensuite, prenez une capture d'écran du composant et définissez-le comme Image dans PrintView. Lorsque cela est fait, je crée un nouveau FlexPrintJob et l'envoie. Cela semble fonctionner la plupart du temps, mais la mise à l'échelle va déformer et rendre les petits éléments (comme le texte) très mauvais.
Le code pour l'impression ressemble à ceci:
var pj:FlexPrintJob = new FlexPrintJob();
if (pj.start())
{
pj.addObject(componentToBePrinted, FlexPrintJobScaleType.SHOW_ALL);
pj.send();
}
Ce que je voudrais faire est d'obtenir le menu contextuel du clic droit de travailler, et je veux dire le réglage de la mise à l'échelle du fichier SWF. Est-ce possible? Existe-t-il d'autres alternatives lors de l'impression d'un fichier SWF? Qu'est-ce que je fais mal? Lorsque j'essaie, j'imprime sur un PDF, mais je ne pense pas que cela changera les résultats.