【发布时间】:2010-06-02 12:53:30
【问题描述】:
在更新我的 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);
如果有人有任何建议,我将不胜感激。
感谢您的宝贵时间。
罗伯
【问题讨论】: