そうです、要件は、現在のグラフィック コンテキストが PDF コンテキストであるということです。プッシュ (UIGraphicsPushContext) してアクティブにするか、次のようにコンテキストを作成できます。
UIGraphicsBeginPDFContextToFile(path, CGRectMake(0, 0, 612, 792), nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, 612, 792), nil);
// ...
UIGraphicsSetPDFContextURLForRect(url, rect);
// ...
UIGraphicsEndPDFContext();
UIGraphicsSetPDFContextURLForRect には 2 つのパラメーターがあります。1 つ目はリンク先の URL で、2 つ目はリンク領域を表す現在のページ上の四角形です。たとえば、次の行はページの左下隅に URL へのリンクを作成します。リンクのサイズは 72*72 ポイントです。
UIGraphicsSetPDFContextURLForRect(url, CGRectMake(0, 0, 72, 72));
このメソッドが実際に行うことは、PDF ファイルにリンク注釈を作成することです。リンク自体には視覚的な外観はありません。ビューアーで PDF ページにマウスを移動すると、リンクがあることを知っている必要があります。このため、通常はページに何かを描いたり書いたり (ここをクリックなど) し、テキストの上にリンク領域を設定します。
更新 - 作業コード フラグメント:
- (void) makePdf {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFile = [documentsDirectory stringByAppendingPathComponent:@"uigraphics.pdf"];
UIGraphicsBeginPDFContextToFile(pdfFile, CGRectMake(0, 0, 612, 792), nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, 612, 792), nil);
NSURL* url = [NSURL URLWithString: @"http://www.ipdfdev.com/"];
UIGraphicsSetPDFContextURLForRect(url, CGRectMake(0, 0, 50, 50));
UIGraphicsEndPDFContext();
}