2016-11-05 5 views
0

内のテキストにDOCXファイルの変換:私は今、何をしたいか私は私の一時保存中の.docxファイル持っスウィフト

let location: NSURL = NSURL.fileURLWithPath(NSTemporaryDirectory()) 
    let file_Name = location.URLByAppendingPathComponent("5 November 2016.docx") 

することは、この文書内のテキストを抽出しています。しかし、私はこれを行うためのコンバーターや方法を見つけることができないようです。

私はこれを試してみました:それはnilを印刷ししかし

let file_Content = try? NSString(contentsOfFile: String(file_Name), encoding: NSUTF8StringEncoding) 
    print(file_Content) 

を。

どのようにしてdocxファイルのテキストを読むことができますか?

+0

あなたの 'contentOfFile:'の呼び出しでは 'URL'とは何ですか?それは 'File_Name'ではありませんか? BTW - 小文字で始まるメソッドと変数に名前を付けるのが標準的な方法です。クラス名は大文字で始まります。 – rmaddy

+0

@rmaddyはい、File_Nameで、コピーと貼り付けの間違いです。 –

+0

混乱を避けるために質問を修正する必要があります。 – rmaddy

答えて

2

最初の問題はURLから文字列を取得する方法です。 String(File_Name)は、ファイルURLをファイルパスに変換する正しい方法ではありません。適切な方法は、path関数を使用することです。

let location = NSURL.fileURLWithPath(NSTemporaryDirectory()) 
let fileURL = location.URLByAppendingPathComponent("My File.docx") 
let fileContent = try? NSString(contentsOfFile: fileURL.path, encoding: NSUTF8StringEncoding) 

多くの変更に注意してください。適切な命名規則を使用してください。名前変数をより明確にします。

ここが問題です。これは、docxファイルがXMLやその他のファイルの圧縮されたコレクションであるため、動作しません。 docxファイルをNSStringに読み込むことはできません。 zipの内容をロードするには、NSDataを使用する必要があります。それからあなたはそれを解凍する必要があります。次に、すべてのファイルを調べて、目的のテキストを見つける必要があります。それは些細ではなく、単一のスタックオーバーフローポストの範囲をはるかに超えています。

+0

おそらく。しかし、このような勧告を求めるのは、スタックオーバーフローの話題にはなりません。 Googleを使用する必要があります。 – rmaddy

+0

いいえ。別の言語でコードを使用または検索して翻訳するには、既存のライブラリを見つける必要があります。 – rmaddy

関連する問題