Office Word dokumentumból szöveg kinyerése

Javabuzi meghasonulva

Bár javabuzi vagyok, vannak olyan feladatok, amikre nem a Java a legalkalmasabb. Mostanság több ilyen is adódott, kellett használni flex-et, grails-t, .NET-et is.

Tehát a probléma: szedjük ki bizonyos időközönként egy aktuálisan megnyitott dokumentumból a szöveget. C#.NET-et találtam a legkényelmesebbnek ehhez, bár így sem volt egyszerű. Rengeteg írás van a neten, hogy hogyan bizergáljunk lementett doc fájlokat, de ritka, hogy hogyan dolgozzunk egy aktuálisan megnyitott doksival. Annyi könnyíti a helyzetemet, hogy magát a dokumentumot az elején feldobhatom én is, így nem kell kikeresnem az aktívot, hanem feltételezhetem, hogy az általam megnyitottba írnak majd. Csupán a Microsoft.Office.Core és a Microsoft.Office.Interop.Word dll-eket kell csak behúzni. A kód valami ilyesmi, persze még az ütemes giveBackTheText() hívások kellenek köré:

public class WordTextReceiver
{

private Microsoft.Office.Interop.Word.Application wordApp;
private Document doc;


public void init()
{
createWordDocument();
}

private void createWordDocument()
{
wordApp = new Microsoft.Office.Interop.Word.Application();

object readOnly = false;
object isVisible = true;

// Here is the way to handle parameters you don't care about in .NET
object missing = System.Reflection.Missing.Value;
wordApp.Visible = true;

try
{
doc = wordApp.Documents.Add(ref missing, ref missing, ref missing, ref isVisible);

}
catch (COMException ce)
{
// some logging or error handling here
}

doc.Activate();
}


public String giveBackTheText()
{
return doc.Content.Text;
}
}

0 megjegyzés:

Megjegyzés küldése

top