2013-01-22 14 views
6

Sto lavorando a un progetto (asp.net, C#, vb 2010, .net 4) e ho bisogno di leggere sia i file DOC che DOCX, che Ho già caricato (ho caricato una parte). La parte difficile è che non ho MS Office installato sul server e che non posso usarlo.Leggere file doc e docx utilizzando C# senza avere MS Office installato sul server

C'è qualche libreria pubblica che posso includere nel mio progetto senza dover installare nulla? Entrambi i documenti sono molto semplici:

NUMBER TAB STRING 
NUMBER TAB STRING 
NUMBER TAB STRING 
... 

ho bisogno di estrarre il numero e la stringa per ogni riga (paragrafo).

Qualcuno potrebbe aiutarmi? Dovrei ripetere ancora una volta che sono limitato in un modo che non posso installare nulla su un server.

+1

doc E docx? docx è un archivio compresso in stile zip di documenti XML e possibilità binaria (se le immagini sono lì, ecc.), doc è codificato in binario - motore completamente diverso necessario. – TomTom

+0

Per DOCX ci sono libere e librerie commerciali MA per DOC le uniche opzioni che conosco sono commerciali ... È una biblioteca commerciale un'opzione? – Yahia

+0

@TomTom Sì, lo so che c'è uno sfondo diverso per doc e docx, ma sono interessato se questo può essere in qualche modo unito in una libreria? O ci sono forse due librerie che posso poi unire da solo ... Grazie – user1999722

risposta

4

Per DOC è possibile utilizzare la libreria open source NPOI.

Per DOCX Io suggerirei Open XML API

+0

In base al collegamento NPOI fornito, viene indicato "Support xls, xlsx, docx." - Non c'è alcuna menzione di DOC !!! – Yahia

+0

@Yahia Hm ... La biblioteca commerciale non sarebbe una buona soluzione. Se conosci uno pubblico, sarebbe fantastico :) Come per NPOI, sì, ho anche visto che non supporta i file DOC :( – user1999722

+0

Buone notizie, ora supporta sia i file 2003 che 2007: "POI è un progetto open source che può aiutarti a leggere/scrivere file di Office 2003/2007 ". E sì, doc non è stabile (http://npoi.codeplex.com/discussions/360441) ... –

1

Aggiornamento: NPOI supporta docx ora. Si prega di provare l'ultima release (NPOI 2.0 beta)

2

è possibile utilizzare Code7248.word_reader.dll

di seguito è il codice di esempio su come utilizzare Code7248.word_reader.dll

aggiungere riferimento a questa DLL nel progetto e copia sotto il codice.

using System; 
using System.Collections.Generic; 
using System.Text; 
//add extra namespaces 
using Code7248.word_reader; 


namespace testWordRead 
{ 
    class Program 
    { 
     private void readFileContent(string path) 
     { 
      TextExtractor extractor = new TextExtractor(path); 
      string text = extractor.ExtractText(); 
      Console.WriteLine(text); 
     } 
     static void Main(string[] args) 
     { 
      Program cs = new Program(); 
      string path = "D:\Test\testdoc1.docx"; 
      cs.readFileContent(path); 
      Console.ReadLine(); 
     } 
    } 
} 
+0

sai dove posso visualizzare la licenza per questa DLL? La sua licenza supporta la distribuzione di DLL ad altri? – Demona