My / Annots / Rect值是,1208.93,2266.28,1232.93,2290.28(WHAT ?!)
如何将PDF / Annots / Rect值转换为iOS x和y坐标?
CGPDFPageRef page = CGPDFDocumentGetPage(doc, i+1);
CGPDFDictionaryRef pageDictionary = CGPDFPageGetDictionary(page);
CGPDFArrayRef outputArray;
if(!CGPDFDictionaryGetArray(pageDictionary, "Annots", &outputArray)) {
return;
.... .... ....}
答案 0 :(得分:1)
我认为这些坐标位于PDF的“默认用户坐标空间”中。您需要应用将它们发送到屏幕坐标的转换。您可以使用CGPDFPageGetDrawingTransform
进行此类转换。确保您使用相同的转换来绘制页面和注释。
答案 1 :(得分:0)
我不确定这是否是问题,但Quartz 2D坐标系从左下角开始。
有关详细信息,请参阅Quartz 2D Programming Guide的Coordinate Systems。
聚苯乙烯。如果你使用它,我想看到注释的结果代码。
编辑:
刚刚找到这段代码(未经测试):
// flip context so page is right way up
CGContextTranslateCTM(currentContext, 0, paperSize.size.height);
CGContextScaleCTM(currentContext, 1.0, -1.0);