2012-08-10 3 views
1

PDF 파일의 잠금을 해제하려면 CGPDFDocumentUnlockWithPassword을 사용해야하지만 CGPDFDocumentRef을 반환하고 AirPrint를 사용하여 인쇄하려면 NSData 또는 URL이어야합니다. CGPDFDocumentRefNSData 개체로 변환하거나 파일로 저장하는 방법을 알고 있지 않습니다. 이 사건을 해결할 사람이 있습니까?잠긴 PDF 파일을 인쇄하는 방법 AirPrint를 사용하여 잠긴 PDF 파일을 인쇄하는 방법

답변

0

새로 만든 CGPDFContext에 소스 PDF의 각 페이지를 인쇄하고 결과 PDF를 개별 파일로 저장하면됩니다. Principially, 그것은 다음과 같아야합니다

// create PDFContext 
NSURL* dstPath = [NSURL fileURLWithPath:pathInCachesFolder] 
CGRect pageRect = CGRectMake(0,0,1024,1024); // example, use real page size of src document here 
CGContextRef pdfContext = CGPDFContextCreateWithURL(dstPath, &pageRect, nil); 

// use for loop here to repeat following stuff for each pdf page from the src pdf 
CGPDFContextBeginPage(pdfContext, NULL); 
CGContextDrawPDFPage(pdfContext, sourcePDFpageRef); 
CGPDFContextEndPage(pdfContext); 

// close pdfContext, saves dst file 
CGPDFContextClose(pdfContext); 
CGContextRelease (pdfContext); 

코드의이 작품은 새로 생성 된 PDF로 원본 PDF에서 페이지를 인쇄하고 DST 경로에 PDF 파일을 저장합니다. 물론 소스 문서의 각 페이지에 대해 드로잉 부분을 반복해야합니다. 이후에는 아무 문제없이 AirPrint를 통해 pdf를 인쇄 할 수 있습니다.

+0

감사합니다,하지만 난 context.I에 PDF 파일을 다시 그리기하고 싶지 않은 : 당신은 여기에 정보를 가질 수 있습니다 – VIRGIL

관련 문제