/// <remarks> /// .NET System.IO.Compression and zip files /// http://blogs.msdn.com/dotnetinterop/archive/2006/04/05/.NET-System.IO.Compression-and-zip-files.aspx /// </remarks> public override bool GetResponse(System.Net.HttpWebResponse webresponse) { string filename = System.IO.Path.Combine( Preferences.DownloadedTempFilePath , (System.IO.Path.GetFileName(this.Uri.LocalPath))); this.Title = System.IO.Path.GetFileNameWithoutExtension(filename); SaveDownloadedFile(webresponse, filename); try { XpsDocument xpsDoc = new XpsDocument(filename, System.IO.FileAccess.Read); FixedDocumentSequence docSeq = xpsDoc.GetFixedDocumentSequence(); for (int pageNum = 0; pageNum < docSeq.DocumentPaginator.PageCount; pageNum++) { DocumentPage docPage = docSeq.DocumentPaginator.GetPage(pageNum); foreach (System.Windows.UIElement uie in ((FixedPage)docPage.Visual).Children) { if (uie is System.Windows.Documents.Glyphs) { _WordsOnly += " " + ((System.Windows.Documents.Glyphs)uie).UnicodeString; } } } this.All = _WordsOnly; System.IO.File.Delete(filename); // clean up } catch (Exception ex2) { // ProgressEvent(this, new ProgressEventArgs(2, "IFilter failed on " + this.Uri + " " + e.Message + "")); } if (this.All != string.Empty) { this.Description = base.GetDescriptionFromWordsOnly(WordsOnly); return true; } else { return false; } }