9

CGPDFDocument、または他の手段を使用してPDFドキュメントの「内部」リンクにアクセスすることは可能ですか?シンプルなリーダーアプリを作成していて、コンテンツをPDF形式で配信したいのですが、ドキュメント内のページ間のリンクをサポートできない場合、これはおそらく機能しません。

この質問は似ていますが、ハイパーリンクをサポートする方法の問題には対応していません。

4

4 に答える 4

2

ここで私の答えを参照してください。基本的に、PDFリンク注釈に精通する必要があります。

于 2010-08-09T22:35:02.950 に答える
1

このサンプル コードを参照してください...pdf ハイパーリンクはこれで機能します

https://github.com/vfr/Reader

于 2011-09-08T10:40:13.913 に答える
0

2 つのステップで行う必要があります。

最初: PDF を解析して、マークされたコンテンツ オペレータを見つけます。

これは解析コードの例です:

-(void)parseContent() {
    CGPDFOperatorTableRef myTable;
    myTable = CGPDFOperatorTableCreate();
    CGPDFOperatorTableSetCallback(myTable, "BMC", &myOperator_BMC);
    CGPDFContentStreamRef myContentStream = CGPDFContentStreamCreateWithPage(page);
    CGPDFScannerRef myScanner = CGPDFScannerCreate(myContentStream, myTable, autoZoomAreas);
    CGPDFScannerScan(myScanner);
    CGPDFScannerRelease(myScanner);
    CGPDFContentStreamRelease(myContentStream); 
}

void myOperator_BMC(CGPDFScannerRef s, void *info)
{
    const char *name;
    CGPDFScannerPopName(s, &name);
}

(要件に合わせてこのコードを完成させて調整する必要があります)

2 番目: toucheEnded メッセージに応答して、それらのゾーンでのタップを処理し、それに応じて UI を応答させます。

于 2010-08-31T10:40:04.277 に答える
0

Quartz を使用して PDF を開いて表示している場合、はい、内部リンクにアクセスできるようです。Quartz では、PDFに新しいリンクを追加することもできます。私は iPhone/Mac の開発を直接経験したことはありませんが、ハイパーリンクを追加できるのに使用できないというのは非常に奇妙です。

于 2009-08-11T02:06:48.560 に答える