ASPOSE si Documentele Word

Pentru infovalutar (mai exact, pentru mine …) am vrut sa preiau licitatiile de la banci.

Pentru rezultatul final, vezi http://infovalutar.ro/licitatie

Dar sa vedem care a fost povestea  :am inceput cu preluarea paginilor HTML . Incepusem cu  HttpWebRequest – dar am descoperit la timp HtmlAgilityPack si am ramas credincios lui.

Acum, dupa preluarea paginilor HTML( de ex., http://www.banca-romaneasca.ro/main.php?did=527&code=executare+silita) a fost de ajuns un XPath + expresie regulata de parsare a text-ului din interior.

Ce mi-a produs batai de cap a fost http://vanzari.leumi.ro/bunuri_imobile.html – aveau bunurile in document Word! Ori, ca sa ii ceri celui de la Hosting sa instaleze Word-ul ca sa il instantiezi tu in ASP.NET e aproape imposibil!

Solutia : ASPOSE.WORDS  – citeste documente dintre cele mai diverse si scoate un TXT superb – si asta, fara sa aiba nevoie de WORD instalat(se prea poate sa fi omorit muste cu tunul …)

Ca folosire, trebuia sa ii dau un Stream – dar cind am incercat sa ii dau stream-ul de document, mi-a zis ca nu suporta Seek. Asa incit am rezolvat cu un MemoryStream :

public string LeumiData(string URL)
        {

            byte[] buffer = new byte[1024*1024*4];

            HttpWebRequest hwr = WebRequest.Create(URL) as HttpWebRequest;
            using (WebResponse response = hwr.GetResponse())
            {
                using (Stream responseStream = response.GetResponseStream())
                {
                    using (MemoryStream memoryStream = new MemoryStream())
                    {
                        int count = 0;
                        do
                        {
                            count = responseStream.Read(buffer, 0, buffer.Length);
                            memoryStream.Write(buffer, 0, count);

                        } while (count != 0);

//ASPOSE
                        Document d = new Document(memoryStream);
                        return d.ToTxt();

                    }
                }
            }

        }

Pot sa spun ca ASPOSE, daca vreti manipulare de documente, face toti banii!

Leave a Reply

Your email address will not be published. Required fields are marked *