|
Invité de passage
 Nicolas RIFFAUD Étudiant Inscription : novembre 2010 Messages : 25 Détails du profil  Informations personnelles : Nom :  Nicolas RIFFAUD Localisation : France Informations professionnelles :
Activité : Étudiant Informations forums :
Inscription : novembre 2010 Messages : 25 Points : 0 Points : 0
|
paramètre URLRequest en as3
Bonjour,
Je voudrai pouvoir insérer une image dans un document PDF. Avec le code suivant, cela fonctionne parfaitement :
Code :
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
| <fx:Script>
<![CDATA[
import org.alivepdf.pdf.PDF;
import org.alivepdf.saving.Method;
private var fileToOpen:File = File.documentsDirectory;
protected function btn_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
fileToOpen.browseForOpen("Ouvrir une image");
fileToOpen.addEventListener(Event.SELECT, ouvrirImage);
}
private function ouvrirImage(evt:Event):void
{
var chargeur:Loader = new Loader();
var url:String = evt.currentTarget.nativePath;
trace(url);
chargeur.load(new URLRequest(url));
trace(evt.currentTarget.nativePath);
chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, continu);
//var image:DisplayObject = plLdr.content as DisplayObject;
}
private function continu(evt:Event):void
{
var target:LoaderInfo = evt.target as LoaderInfo;
var image:DisplayObject = target.content as DisplayObject;
var monPdf:PDF = new PDF("Portrait");
monPdf.addPage();
//monPdf.curveTo(120, 110, 45, 50, 78, 89);
monPdf.drawCircle(70, 70, 30);
monPdf.drawEllipse(100, 100, 20, 30);
monPdf.drawRect(new Rectangle(120, 150, 70, 50));
monPdf.addCell(1, 1, "Ceci est une première cellule");
monPdf.addPage();
monPdf.addText("Ceci est une insertion de texte dont les coordonnées x et y sont 10 et 5", 10, 5);
monPdf.addImage(image, null, 50, 50, 100, 100);
var file:File = File.desktopDirectory;
var bytes:ByteArray= monPdf.save(Method.LOCAL);
file.save(bytes, ".pdf");
}
]]>
</fx:Script> |
Seulement voila, ce que je voudrai, c'est mettre l'url de mon image directement dans le code comme ceci :
Code :
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
| <fx:Script>
<![CDATA[
import org.alivepdf.pdf.PDF;
import org.alivepdf.saving.Method;
private var fileToOpen:File = File.documentsDirectory;
/*protected function btn_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
fileToOpen.browseForOpen("Ouvrir une image");
fileToOpen.addEventListener(Event.SELECT, ouvrirImage);
}*/
private function ouvrirImage(evt:Event):void
{
var chargeur:Loader = new Loader();
var url:String = "C:\Users\PORTABLENICO\Pictures\chevron_closeup_1280_1024.jpg";
trace(url);
chargeur.load(new URLRequest(url));
//trace(evt.currentTarget.nativePath);
chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE, continu);
//var image:DisplayObject = plLdr.content as DisplayObject;
}
private function continu(evt:Event):void
{
var target:LoaderInfo = evt.target as LoaderInfo;
var image:DisplayObject = target.content as DisplayObject;
var monPdf:PDF = new PDF("Portrait");
monPdf.addPage();
//monPdf.curveTo(120, 110, 45, 50, 78, 89);
monPdf.drawCircle(70, 70, 30);
monPdf.drawEllipse(100, 100, 20, 30);
monPdf.drawRect(new Rectangle(120, 150, 70, 50));
monPdf.addCell(1, 1, "Ceci est une première cellule");
monPdf.addPage();
monPdf.addText("Ceci est une insertion de texte dont les coordonnées x et y sont 10 et 5", 10, 5);
monPdf.addImage(image, null, 50, 50, 100, 100);
var file:File = File.desktopDirectory;
var bytes:ByteArray= monPdf.save(Method.LOCAL);
file.save(bytes, ".pdf");
}
]]>
</fx:Script> |
On oublie la boite de dialogue qui va chercher l'image et on passe directement l'url en parametre du constructeur URLRequest.
Mais si je fais comme ça, ça me dit "URL not found". Quelqu'un peut-il me dire quelle est la différence entre les deux cas par rapport à mon url et si possible m'expliquer comment je pourrai mettre en application mon second code ?
Merci.
|