В процессе обновления моего приложения для 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);
Если у кого-то есть какие-либо предложения, я был бы очень признателен, если бы они были услышаны.
Спасибо за ваше время.
Роб