0

PDF をダウンロードできる URL がありますが、次のようなものは使用できません。

[myWebView loadRequest:urlRequest];

このリンクはいくつかの課題を送信するため...

ただし、PDFの生データを取得するNSURLConnectionことができました(正確には、デリゲートメソッドでデータを取得できます:

(void)connection:(NSURLConnection *)theConnection didReceiveData:(NSData *)data).

そして、このPDFを表示するにはどうすればよいですか? 誰にもアイデアはありますか?どうもありがとう!

4

1 に答える 1

0

私は独自の pdf ダウンロード クラスを作成しましたが、これは必要なビットです。クラスの .h 内。宣言する:

NSMutableData *_data;
NSString *pdfPath;

接続のデリゲートもサブクラス化します

<NSURLConnectionDataDelegate, NSURLConnectionDelegate>

次に、実装ファイルの- viewDidLoad:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
pdfPath = [documentsDirectory stringByAppendingPathComponent:@"pdfName.pdf"];

connection:didReceiveData:メソッド:

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    if(!_data) _data = [[NSMutableData data]init];
    [_data appendData:data];
    progressView.progress =  ((float) [_data length] / (float) downloadSize);
}

connectionDidFinishLoading:メソッド:

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {

        unsigned char byteBuffer[[_data length]];
        [_data getBytes:byteBuffer];
        [_data writeToFile:pdfPath atomically:YES];

}

したがって、データを受信すると_dataを構築し、終了するとパスに書き込みます。接続デリゲートが に設定されていることを確認してくださいself

その後、以前と同じように PDF へのパスを開くことができます。

于 2012-11-06T16:42:52.667 に答える