// Create empty PDF context on iPhone for later randering in it
-(Cgcontextref) create‑context :( cgrect) inmediabox path :( cfstringref) path
{
Cgcontextref myoutcontext = NULL;
Cfurlref URL;
Url = cfurlcreatewithfilesystempath (null ,//
1
Path,
Kcfurlposixpathstyle,
False );
If (URL! = NULL ){
Myoutcontext = cgw.contextcreatewithurl (URL, // 2
& Inmediabox,
Null );
Cfrelease (URL); // 3
}
Return myoutcontext; // 4
}
Nsarray * paths = nssearchpathfordirectoriesindomains (nsdocumentdirectory, nsuserdomainmask, yes );
Nsstring * documentsdirectory = [paths objectatindex: 0];
Nsstring * writabledbpath = [documentsdirectory stringbyappendingpathcomponent: @ "tmpparts"];
Cgcontextref implements context = [self createmediacontext: scrolledview. bounds path cfstringref) writabledbpath];
Nslog (@ "pdf context created ");
Cgcontextbeginpage (encryption context, nil );//
6
// Turn PDF upsidedown
Cgaffinetransform transform = cgaffinetransformidentity;
Transform = cgaffinetransformmaketranslation (0, scrolledview. bounds. Size. Height );
Transform = cgaffinetransformscale (transform, 1.0,-1.0 );
Cgcontextconcatctm (encryption context, transform );
// Draw view into PDF
[Scrolledview. layer renderincontext: encryption context];
Cgcontextendpage (encryption context); // 8
Cgcontextrelease (encryption context );