2016-09-07 14 views
0

私のアプリケーションでは、ローカルディレクトリまたはドキュメントディレクトリに保存されたiPhoneからPDFファイルを閲覧できるようにする必要があります。iPhoneからPDFファイルを参照

ボタンをクリックすると、そのボタンをクリックするとpdfファイルが表示され、そのファイルを添付してサーバーに送信します。[ex:添付文書をGmailに添付]

どうすればこのことができますか。ありがとうございます。

viewdidload /////では、pdfファイルをドキュメントディレクトリにダウンロードします。

NSString *stringURL = @"http://www.khazanah.com.my/khazanah/files/20/200f21f3-07ff-4903-ab99-7c0cb557eb51.pdf"; 


NSURL *url = [NSURL URLWithString:stringURL]; 
    NSData *urlData = [NSData dataWithContentsOfURL:url]; 
    if (urlData) 
    { 
     NSArray  *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *documentsDirectory = [paths objectAtIndex:0]; 

     NSString *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"filename.pdf"]; 

     NSLog(@"filePath %@",filePath); 

     [urlData writeToFile:filePath atomically:YES]; 
    } 

ファイルをドキュメントディレクトリに入れます。

-(IBAction)favbtnClicked:(id)sender 
{ 
    NSString *searchFilename = @"filename.pdf"; // name of the PDF you are searching for 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSDirectoryEnumerator *direnum = [[NSFileManager defaultManager] enumeratorAtPath:documentsDirectory]; 

    NSString *documentsSubpath; 
    while (documentsSubpath = [direnum nextObject]) 
    { 
     if (![documentsSubpath.lastPathComponent isEqual:searchFilename]) { 
      continue; 
     } 

     NSLog(@"found %@", documentsSubpath); 
    } 


} 

documents私はUICollectionViewでどのように表示することができますか?助けて。あなたは、ディレクトリで利用可能なファイルのリストを取得するために必要なすべての

+0

あなたのAPP内の.pdfのみ閲覧できます。 .pdfがどこにあるのか自分自身を知っているので、あなたの問題は何ですか? – Larme

+0

ok ...私のアプリにはファイルがありませんどのようにファイルを閲覧できますか – saravanar

+0

できません。これはサンドボックスと呼ばれ、iOSには "Finder.app"/Explorerと同等の機能はありません。参照してください:http://stackoverflow.com/questions/38873128/how-to-choose-pdf-file-in-ios – Larme

答えて

1
  1. このリンクをクリックしてください:UIDocumentInteractionControllerDelegate
  2. はこのようにそれを使用します。

    UIDocumentInteractionController *ビューア= [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:path_of_doc ]]; viewer.delegate = self; [viewer presentPreviewAnimated:YES];

希望します。あなた自身がアプリケーションからファイルをダウンロードし、それをdocディレクトリに保存するかどうかを教えてください。

+0

イメージギャラリーのようなpdfファイルを表示したい。 1つのpdfファイルを選択してサーバ – saravanar

+0

にアップロードします。1. doc dirからすべてのファイルを取得してください.dirからpdfファイルのみを取得してください。 2. pdfをフィルタリングし、コレクションビューで表示します。 3.ユーザーがこれらのいずれかをタップすると、コレクションビューの委任方法からリンクを取得できます。次に、ファイルをメタデータとしてサーバーにアップロードします。 –

+0

4.これを試して、あなたのextのPDFを使用して、入手したdocの配列をフィルタリングしてください: - (NSArray *)findFiles:(NSString *)extension { NSMutableArray * matches = [[NSMutableArray alloc] init]; NSFileManager * fManager = [NSFileManager defaultManager]; NSString * item; NSArray * contents = [fManager contentsOfDirectoryAtPath:[NSHomeDirectory()stringByAppendingPathComponent:@ "ドキュメント"]エラー:nil]; //このセクションでは、選択した拡張子を持つすべてのファイルを配列に追加します(コンテンツ内のアイテム){if([[item pathExtension] isEqualToString:extension]){[addObject:itemに一致]; } } リターンマッチ; } –

0

まず、

  1. このメソッドは、指定されたパス上のファイルを検索するのに役立ちます。

    -(NSArray *)listAllFileAtPath:(NSString *)path{ 
    
    //----LIST OF AVAILABLE FILES----// 
    int count; 
    
    NSArray *directoryContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:NULL]; 
    
    return directoryContent;} 
    
  2. 今、あなたは、あなたがファイルを添付して電子メールを送信するためにリンクの下に使用することができ、そこからPDFファイルをフィルタリングすることができます。

  3. このデリゲートメソッドを追加iOS Email Attachment

+0

画像ギャラリーのようなpdfファイルを表示したい。 1つのpdfファイルを選択してサーバ – saravanar

+0

にアップロードする方法と、このメソッドをどのように呼び出すことができますか? – saravanar

+0

そのためには、pdfの最初のページのサムイメージを表示できるUICollectionViewを使用できる別のビューを設計する必要があります。クリックすると添付ファイル付きでメールを送信できます。 –

関連する問題