2012-05-04 3 views
2

AIR3.1을 사용하여 내보내고 Apple의 엔터프라이즈 설치 프로그램을 통해 배포되는 Flash CS5.5로 작성된 응용 프로그램이 있습니다 (응용 프로그램 승인을 무시할 수 있음) .iOS 용 AIR 응용 프로그램에서 PDF를 내보낼 수 있습니까?

저는 이제 iPad로 가져온 PDF (AlivePDF를 사용하여 생성 됨)를 iBooks로 가져 오거나 Safari에서 열어 보려고합니다.

이것은 내 데스크톱 버전의 앱에 사용하는 것입니다. 스크립팅이 매우 지저분하지만 작업이 완료됩니다. 난 그냥이를 변환하는 방법을 알고 난 당신의 문제는 당신이 파일이 저장되는 방식을 변경해야 할 것이다 말할 것 iOS 용 AIR에 몇 가지 작업을 수행 데이 아이 패드

//Populate listbox component from array 

function noEmpty(item:*, index:int, array:Array):Boolean{ 
    return item != undefined; 
} 

for(var i:int = 0; i < MovieClip(root).selectedProducts.length; i++) { 
    if(MovieClip(root).selectedProducts[i] != undefined){ 
     selectedProductsText.dataProvider.addItem({label: MovieClip(root).selectedProducts[i]}); 
    } 
} 

var myTextFormat:TextFormat = new TextFormat(); 
myTextFormat.size = 20; 
myTextFormat.font = "Arial"; 
myTextFormat.color = 0x000000; 
myTextFormat.leftMargin = 30; 
selectedProductsText.rowHeight = 40; 

selectedProductsText.setRendererStyle("textFormat", myTextFormat); 

//AlivePDF, generate PDF 

import org.alivepdf.pdf.PDF; 
import org.alivepdf.layout.Orientation; 
import org.alivepdf.layout.Size; 
import org.alivepdf.layout.Unit; 
import org.alivepdf.display.Display; 
import org.alivepdf.saving.Method; 
import org.alivepdf.fonts.FontFamily; 
import org.alivepdf.fonts.Style; 
import org.alivepdf.colors.RGBColor; 
import com.adobe.images.*; 

function convertString(_value:String):String 
{ 
var returnString:String = ""; 
var _chr:String = String.fromCharCode(13); 
var tempArray:Array = _value.split(_chr); 
for(var i:uint = 0; i < tempArray.length; i++) 
    { 
    returnString += tempArray[i] + "\n"; 
    } 
    return returnString; 
} 

var pdf:PDF = new PDF(); 

pdf.setDisplayMode (Display.REAL);  
pdf.addPage(); 

pdf.writeText(7, convertString( MovieClip(root).selectedProducts.filter(noEmpty).join('\n') )); 

var buffer:ByteArray = pdf.save(Method.LOCAL); 
var file:FileReference = new FileReference(); 

//save PDF button 

btnPdf.addEventListener(MouseEvent.CLICK, generatePDF); 

function generatePDF (e:MouseEvent) 
{ 
    file.save(buffer, "Product Selection List.pdf"); 
} 
+0

구체적으로 ios에서 작동하지 않는 부분은 무엇입니까? (오프 주제이지만 스택 오버플로에 개인 메시지 옵션을 찾을 수 없습니다) : ios 용 Air 3가 어떻게 효과가 있습니까? 나는 그것을 나 자신에게 시험해 보는 것을 고려하고 있었다. – user1103976

+0

user1103976 : iDevice에 파일을 저장할 위치를 모르겠습니다. 애플은 OS가별로 열려 있지 않다. 모든 것이 엉망이다. iOS의 AIR3은 제대로 실행되는 것 같습니다. 목표 C를 배우지 않고 앱을 개발할 수있는 유일한 방법입니다. 퍼포먼스는 데스크탑/랩톱만큼 뛰어나지는 않지만 최적화 된 상태로 유지하면 성능이 그렇게 나쁘지는 않습니다. – user1172903

답변

0

에서 작동하지 않습니다 장치에 저장됩니다.

f = File.documentsDirectory.resolvePath(imagename+".jpg");  
stream = new FileStream(); 
stream.open(f, FileMode.WRITE);           
j = new JPGEncoder(80);  
bytes = new ByteArray(); 
bytes = j.encode(snapShot.bitmapData); 
stream.writeBytes(bytes, 0, bytes.bytesAvailable); 
stream.close(); 

잘 모르겠어요 어떻게, 그것도 가능하다면 AIR를 통해 보내 :

당신은 내가 JPG 이미지를 저장하는 데 사용되는 것과 같은 것을 사용하여 응용 프로그램의 저장소 디렉토리에 파일을 저장해야 iBooks에 pdf. 응용 프로그램 내에서 StageWebView를 사용하여 PDF를 표시 할 수 있습니다.

+0

감사합니다. 다소 도움이됩니다. 나는 그것이 가능하다고 생각하지 않았지만, 누군가가 나를 틀리게 증명하기를 바라고 있었다. – user1172903

관련 문제