Bonjour à tous,

Je me permets de venir poster car j'ai un soucis au sujet de AlivePDF lié à de l'AS3.

Voilà mon but : dans une première étape, l'utilisateur choisit des images dans une galerie, elles sont stockées dans un tableau "reponse" vient ensuite l'étape deux : ces images sont présentées deux par deux afin que l'utilisateur puisse valider ses choix. Grâce à un bouton, on valide les deux images, et une nouvelle page est ajoutée au pdf avec ces deux images via une capture de la scène. Et ainsi de suite. Mon problème : l'outil fonctionne parfaitement à un détail près, c'est que le pdf n'est constitué que de la première capture, répétée autant de fois qu'il y a de pages. A noter que toutes les variables inconnues sont traitées dans la première partie.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
stop();
 
import org.alivepdf.pdf.*;
import org.alivepdf.layout.*;
import org.alivepdf.display.*;
import org.alivepdf.saving.Download;
import org.alivepdf.saving.Method;
import org.alivepdf.pages.*;
 
titre_general.text = "DIMENSIONS AND AREAS";
numero_chapitre.text = titre_chapitre;
 
var indicateur_TTT = ""; 
var loader5:Loader = new Loader(); addChild(loader5);
var loader6:Loader = new Loader(); addChild(loader6);
var loader8:Loader = new Loader(); addChild(loader8);
var indicateur5 = 1;
var indicateur6 = 2;
var page_TTT = 1;
var file:FileReference = new FileReference();
var myPDF : PDF = new PDF ( Orientation.LANDSCAPE, Unit.MM, Size.A4 );		
myPDF.setDisplayMode( Display.FULL_PAGE, Layout.SINGLE_PAGE );
 
if(page_TTT == 1){generation_pageTTT ();}
 
function ajouterPAGE ()
	{	
		myPDF.addPage();
		myPDF.addImage(stage,null,3,-7,250,210,0,100,true,"PNG",100,null);
	}
 
function generation_pageTTT () 
	{	
		indicateur5 = page_TTT *2 - 1;
		indicateur6 = page_TTT *2;
		if (indicateur_TTT == "OK") {affichageImageSimple();}
			else {affichageImageDouble();}
	}
 
function affichageImageDouble ()
 
	{	
		var image5:URLRequest = new URLRequest(target+reponse[indicateur5]);
		var image6:URLRequest = new URLRequest(target+reponse[indicateur6]);
		loader5.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteTTT);loader5.load(image5);
		loader6.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteTTT);loader6.load(image6);
		numero_page.text = page_TTT;
		if ((reponse[indicateur6] == undefined) || (reponse[indicateur5] == undefined)) {creer_page();}	
	}
 
function affichageImageSimple ()
 
	{
		//Fonction non utilisée pour le moment liée au loader8.
	}
 
function onCompleteTTT(evt:Event):void
	{
		loader5.x = 74.3;
		loader5.y = 90;
		loader5.width= 480;
		loader5.height=360;
 
		loader6.x = 74.3 ;
		loader6.y = 428;
		loader6.width= 480;
		loader6.height=360;
 
		loader8.x = 50 ;
		loader8.y = 120;
		loader8.width  = 940;
		loader8.height = 685;
	}
 
btn_ajouterPage.addEventListener(MouseEvent.CLICK,generer); 
function generer(evt:MouseEvent)
	{	
		page_TTT++;
		ajouterPAGE();
		generation_pageTTT();
 
	}
function creer_page ()
	{
		var bytes:ByteArray = myPDF.save( Method.LOCAL );
		file.save( bytes, titre_chapitre+"_"+titre_type+"_"+titre_spe+".pdf" );
	}
Voilà, ce code ne renvoie aucune erreur, fonctionne, mais je pense qu'il doit y avoir un problème de logique. Je ne sais pas du tout si j'ai commis une erreur en AS ou dans l'utilisation d'AlivePDF. Dans le second cas, cet API est très peu utilisée, par conséquent, j'espère qu'une âme charitable la connaissant pourra me venir en aide !

Merci par avance.

Tux