Alive PDF
Srpen 5th, 2009 od admin, v kategorii Flash. 3 komentářů
Před nějakou dobou jsem natrefil při mých toulkách v různých zákoutí internetu na open source projekt Alive PDF, je to projekt který dokáže v realném čase vytvořit a uložit pdf soubor přímo z flashe. Tenkrát jsem tomu moc nevěnoval pozornost, projekt byl v zárodku a po krátkém vyzkoušení, by se slušně dalo říci, že měl ještě mouchy. Nyní jsem ale potřeboval přesně jeho funkčnost a tak jsem ho vyhledal znovu a musím říct projekt od té doby docela slušně pokročil, a to i přesto, že poslední stabilní verze je 0.1.4.9.
Nejvíce se mi na tomto projektu líbí jeho snadná implementace. Je to snazší než by si člověk myslel.
Malá ukázka.
var mojePDF : PDF = new PDF ( Orientation.PORTRAIT, Unit.MM,Size.A4); mojePDF.addPage(); mojePDF.addImage (pozadi1, 1 , null, null, false, ImageFormat.JPG, 100, 0, 0, 0, 0); mojePDF.addPage(); mojePDF.addImage (pozadi2, 1 , null, null, false, ImageFormat.JPG, 100, 0, 0, 0, 0); mojePDF.save(Method.REMOTE, "create.php",Download.ATTACHMENT,"mojePDF.pdf");
Teď jsem pomocí jednoduchého kódu, udělal online verzi, kde uživateli po spuštění tohoto kódu vyběhne klasický download dialog, ve kterém se mu nabídne stažení pdf souboru jménem mojePDF.pdf, který bude obsahovat dvě stránky A4, které byli vytvořeny ze dvou movie clipů, na které odkazovaly proměnné pozadi1 a pozadi2.
Formátů je předvoleno několik klasických jako (A4, A3, LETTER a další), vy si ale můžete použít vlastní. Vypadá to potom asi takto.
var mmSirka = 90; var mmVyska = 50; var mujRozmer:Size = new Size ([(mmSirka/25.4)*72,(mmVyska/25.4)*72], "mujRozmer", [mmSirka/25.4, mmVyska/25.4],[mmSirka, mmVyska] ); var mojePDF : PDF = new PDF ( Orientation.PORTRAIT, Unit.MM,mujRozmer);
V této ukázce jsem nastavil novému rozměru, parametry klasické vizitky(90x50mm). Pochopitelně nemusíme nastavovat rozměry celému PDF, ale i každé stránce zvlášť.
V ukázce o trochu níž jsem použil nízké dpi, díky tomu to vypadá trochu rozmazaně.
Ukázka (text „Sem vyplňte údaje“ lze přepsat):
Ještě jak by měl vypadat soubor create.php zmiňovaný výše:
<?php $method = $_GET['method']; $name = $_GET['name']; if ( isset ( $GLOBALS["HTTP_RAW_POST_DATA"] )) { // get bytearray $pdf = $GLOBALS["HTTP_RAW_POST_DATA"]; // add headers for download dialog-box header('Content-Type: application/pdf'); header('Content-Length: '.strlen($pdf)); header('Content-disposition:'.$method.'; filename="'.$name.'"'); echo $pdf; } else echo 'An error occured.'; ?>
3 komentářů
Amad v Červenec 19th, 2011
Dobrý den,
chtěl bych se zeptat jak implementovat alivePDF. Co musím udělat se staženou složkou alivePDF? Nějak se mi to nedaří rozchodit. Když vložím váš kód .as nestačí to Kde je chyba?
Amad v Červenec 19th, 2011
Dobrý den,
Kde je chyba?
chtěl bych se zeptat jak implementovat alivePDF. Co musím udělat se staženou složkou alivePDF? Nějak se mi to nedaří rozchodit. Když vložím váš kód .as nestačí to