2009-08-08 15 views
9

CGPDFDocumentなどを使用してPDF文書の「内部」リンクにアクセスすることはできますか?私は単純なリーダーアプリケーションを構築していて、PDF形式でコンテンツを提供したいと思いますが、ドキュメント内のページ間のリンクをサポートできない場合、これはおそらく動作しません。PDF文書(iPhone)のハイパーリンクにアクセスする方法は?

This questionも同様ですが、ハイパーリンクをサポートする方法の問題は解決しません。

+0

で動作しますが、ページ間のリンクにより、正確に何を意味しています...このサンプルコードを参照してください? 1ページ目、4ページ目、または1ページ目が2ページ目に続いていると話していますか?ちなみに、ページ間のクリック可能なリンクについて言えば、PDFドキュメントのハイパーリンクは単にページ上のクリック可能なホットスポットの四角形であり、ハイパーリンクするように見えるテキストとは直接関係がないことに注意してください。 PDF文書はその意味でHTML文書に似ていません。 – Rowan

+0

私は、ドキュメント内のあるページから他の任意のページへのリンクをサポートすることを意味します。私はこれを目次に使うと同時に、ランダムな場所にある他のページを参照するのにも使用します。そう、私が本当に求めているのは、PDF文書をナビゲートするHTMLのような方法です。これがなければ "next/prev/home"ナビゲーションの単純なケースを扱うことができますが、理想的には任意のナビゲーションもサポートしたいと思います。ありがとう。 –

+0

私の質問からのサンプルコードです:http://stackoverflow.com/questions/4080373/get-pdf-hyperlinks-on-ios-with-quartz – pt2ph8

答えて

0

Quartz to open and view a PDFを使用している場合は、内部リンクにアクセスできるようです。石英はまたPDFにadd new linksをさせるでしょう。私はiPhone/Macの開発で初めての経験はありませんが、ハイパーリンクを追加することはできますが、使用することはできません。

+2

これらのリンクは両方とも、Mac OS Xリファレンスライブラリを指しています。 iPhone OS。 PDFKitは電話に存在しません。 –

+0

上記の両方のリンクの上にあるはいは、osx参照ライブラリのリストを開くだけです。それは適切な情報を提供しません。どのように受け入れられますか? -1 –

+0

申し訳ありません、私はもうiPhone devをやっていないので、これは事実上放棄された質問です。私はこれが受け入れ可能な答えかどうかを確認することができないので、私はちょうどそれを "受け入れられていない"。 –

2

私の答えはhereです。基本的には、PDFのリンク注釈に慣れ親しむ必要があります。

0

2つの手順で行う必要があります。

まず:解析コードのexempleだマーク付きコンテンツ事業者

を見つけるためにあなたの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を応答させます。

関連する問題