2011-03-01 40 views
2

嗯,花了幾天的時間嘗試在我的iPad應用上獲得PDF註釋。 我使用下面的代碼來獲得註釋,是的!它的工作原理:) 但rect值是完全不同的,然後IOS矩形值。 我無法弄清楚如何將UIButtons放在應該註釋的地方。 例如,我在PDF文件的左上角有一個註釋。在石英的iOS上安插PDF

我/ Annots /矩形值,1208.93,2266.28,1232.93,2290.28(什麼?!)

如何到iOS X的Y座標我就可以翻譯PDF/Annots /矩形值?

CGPDFPageRef page = CGPDFDocumentGetPage(doc, i+1); 

CGPDFDictionaryRef pageDictionary = CGPDFPageGetDictionary(page); 

CGPDFArrayRef outputArray; 
if(!CGPDFDictionaryGetArray(pageDictionary, "Annots", &outputArray)) { 
    return; 
.... .... ....} 
+0

你找到一個解決辦法?我很想知道你做了什麼,因爲我需要做同樣的事情 – TrekOnTV2017 2012-03-09 22:19:48

+0

你正在使用哪一個?我的意思是哪個框架以及你是如何完成這項工作的? – 2012-09-13 12:07:12

回答

1

我認爲這些座標位於PDF的「默認用戶座標空間」。您需要應用將它們發送到屏幕座標的轉換。你可以使用CGPDFPageGetDrawingTransform來獲得這樣的轉換。確保您使用相同的轉換來繪製頁面和註釋。

0

我不確定這是否是問題,但Quartz 2D Coordinate Systems從左下角開始。

有關更多信息,請參閱Quartz 2D Programming Guide的Coordinate Systems

Ps。如果你有它的工作,我希望看到註釋的結果代碼。

編輯:

剛剛發現這個代碼(未測試):

// flip context so page is right way up 
CGContextTranslateCTM(currentContext, 0, paperSize.size.height); 
CGContextScaleCTM(currentContext, 1.0, -1.0); 

Source