내가 이것을 사용하고, 데이터 I에서 PDF 파일을 작성하려고하면 정말 같은 CGPathRef에서있는 NSData를 반환하는 방법 ...어떻게있는 NSData 소스에서 PDF 파일을 작성 할
+ (NSData *) createPDFDataWithCGPath: (CGPathRef) path mediaBox: (CGRect) mediaBox
{
CFMutableDataRef data = NULL;
if (path) {
CFAllocatorRef allocator = NULL;
data = CFDataCreateMutable(allocator, 0);
CGDataConsumerRef consumer = CGDataConsumerCreateWithCFData(data);
CGContextRef context = CGPDFContextCreate(consumer, &mediaBox, NULL);
CFTypeRef keys[1] = { kCGPDFContextMediaBox };
CFTypeRef values[1] = { CFDataCreate(allocator, (const UInt8 *)&mediaBox, sizeof(CGRect)) };
CFDictionaryRef pageInfo = CFDictionaryCreate(allocator, keys, values, 1, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
CGPDFContextBeginPage(context, pageInfo);
CGContextScaleCTM(context, 1, -1);
CGContextTranslateCTM(context, 0, -mediaBox.size.height);
CGContextAddPath(context, path);
CGContextSetRGBFillColor(context, 0, 0, 0, 1);
CGContextFillPath(context);
CGPDFContextEndPage(context);
CFRelease(pageInfo);
CFRelease(values[0]);
CGPDFContextClose(context);
CGContextRelease(context);
CGDataConsumerRelease(consumer);
}
return (NSData *)data;
}
이 올바른 크기로 내 파일을 가져 오지만 경로는 PDF로 그려지지 않습니다 ... 기본적으로 빈 문서입니다.
는 ... 충분히 너무 같은 파일을 작성하는 방법
[maskData writeToFile: DOCUMENTS_PATH_WITH_STRING(@"maskData.pdf") atomically: YES];
또는 PDF로 작성하지만 점프 그들보다 더 농구는 그것을인가?