В процессе обновления приложения для iPad я пытался нарисовать страницу из существующего документа PDF в контексте Core Graphics, а затем сохранить ее как новый PDF, но у меня возникают проблемы с отображением текста. Изображения во вновь созданном PDF выглядят великолепно, но текст редко отображается правильно: чаще всего он выглядит белым / невидимым или искаженным. Когда текст невидим, я все еще могу выбрать, где он должен быть, и правильно скопировать / вставить в текстовый редактор. Это проблема, связанная с ограниченным количеством шрифтов, доступных на iPad?
Мой код выглядит следующим образом:
CGPDFDocumentRef document = CGPDFDocumentCreateWithProvider(dataProvider);
CGPDFPageRef page = CGPDFDocumentGetPage(document, pageNumberToRetrieve);
CGRect pageRect = CGPDFPageGetBoxRect(page, kCGPDFMediaBox);
UIGraphicsBeginPDFContextToFile(pathToFile, pageRect, nil);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextBeginPage(context, NULL);
// I don't think this line is necessary, but I have tried both with and without it.
CGContextSetTextDrawingMode (context, kCGTextFill);
CGContextDrawPDFPage(context, page);
CGContextEndPage(context);
UIGraphicsEndPDFContext();
CGDataProviderRelease(dataProvider);
CGPDFDocumentRelease(document);
Если у кого-то есть какие-либо предложения, я был бы очень признателен, если бы вы их услышали.
Спасибо за ваше время.
Rob