在更新我的iPad應用程序的過程中,我一直在試圖從現有的PDF文檔繪製一個頁面到核心圖形上下文,然後將其保存爲新的PDF,但我很難得到文字正常顯示。新創建的PDF中的圖像看起來不錯,但文本很少正確顯示:更常見的是它看起來不是白色/不可見或亂碼。當文字不可見時,我仍然能夠選擇它應該在哪裏,然後正確地複製/粘貼到文本編輯器中。這是否與iPad上可用的字體數量有關?CGContextDrawPDFPage顯示白色或亂碼文本
我的代碼如下:
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
「在更新我的iPad應用程序的過程中,我一直試圖從現有的PDF文檔繪製一個頁面到Core Graphics上下文中,然後將其保存爲新的PDF,[<] - < - 這是他的問題的第一行。不知道如何可能錯過...:] – Kalle 2010-08-30 19:33:29
這實際上早上8點15分很安靜,對我來說。 說真的,你看過「Quartz 2D編程指南:PDF文檔創建,查看和轉換」文檔嗎?如果沒有,那麼就有一個關於如何創建文檔,將數據呈現到上下文並保存該文件的代碼示例。 –
Fuggly
2010-09-01 08:31:47