2009-06-06 12 views
5

Czy ktoś zna jakąś dobrą bibliotekę (bezpłatną lub komercyjną) dla Delphi, która może czytać/przetwarzać/modyfikować dokumenty MS Word (najlepiej z obsługą Word 2007) MS Word OLE Automation? Znalazłem niektóre dla .Net, ale nie dla Delphi.Odczytywanie/analizowanie/modyfikowanie dokumentu MS Word w Delphi bez automatycznej obsługi słów

Na przykład, tutaj są dwie biblioteki .NET/Java - Aspose, Word.net

nie chcę dodać .NET współzależności w mojej aplikacji. Biblioteka, która kompiluje się bezpośrednio w exe, będzie najbardziej pożądana, ale każdy ActiveX również będzie działał.

Dziękuję.

Odpowiedz

0

Można użyć biblioteki .NET i utworzyć dla niej opakowanie ActiveX/COM, którego można użyć z Delphi.

This article opisuje możliwości współdziałania między COM i .NET. Zobacz "Korzystanie z obiektów .NET z COM"

+0

Myślałem o tym. To jest ostatni wybór dla mnie, ponieważ nie chcę dodawać zależności na .Net framework –

+0

W zależności od budżetu, możesz użyć linkera .NET na opakowaniu. http://www.remotesoft.com/linker/ –

2

Wiem (prosty niekomercyjny) wariant programu Excel, ale nie dla programu Word. I nie za bardzo nowe.

DR: Problem polega na tym, że program Word wymaga zainstalowania. Powyższe opcje nie. Ponadto OLE może się spowalniać, np. kiedy chcesz zrobić kilka osobistych listów do korespondencji.

Jedyną inną rutyną, jaką mogę sobie wyobrazić, jest automatyzacja Open Office. Ale to ma te same problemy z szybkością (lub gorzej) prawdopodobnie, więc to zależy od tego, dlaczego dokładnie tego chcesz.

Format pakietu Office jest strasznie skomplikowany, a prawie każde rozwiązanie będzie droższe (w rozległym czasie lub pieniądzach) niż po prostu odkaszlowanie kopii słowa. (i OOo można tego uniknąć)

+0

PO powiedział, że miał bibliotekę .NET, która obsługuje natywny dostęp. Dlaczego tworzenie otoki dla tej biblioteki wprowadza zależność od instalacji programu Word? –

+0

Nie ma. Źle odczytałem, jak sądzę. W każdym razie nie ma sensu się z tym sprzeczać, nie wiedząc, czego dokładnie chce uniknąć. Prędkość/pieniądze/zalety. –

+0

Nie sądzę, że sposób .NET jest gorszy niż sposób OOo.Tyle, że ta ostatnia jest darmowa. –

1

Scalabium ma TSMWordDocument składnik, który może wyodrębnić zwykły tekst i jest w całości w natywnym kodzie. Nie obsługuje jednak modyfikacji ich ani wyodrębniania grafiki/stylów. Ich zestaw komponentów pozwala generować dokumenty Worda, ale nie sądzę, że obsługuje ich czytanie. Używamy TSMWordDocument jeden i to jest absurdalnie szybko w porównaniu do automatyzacji COM. Jedynym minusem, jaki udało nam się trafić, jest to, że mimo że jest kompatybilny z Delphi 2009, nadal nie obsługuje tekstu międzynarodowego, chyba że strona kodowa systemu jest zgodna (więc japoński w systemie japońskim jest w porządku, ale nie w języku angielskim).

+0

Jeśli nie można zmodyfikować dokumentu, TSMWordDocument nie jest dla mnie w tym przypadku. Dzięki za sugestię ... –

0

Formaty Microsoftu są tak złożone, że dużo pracy wymaga napisania i aktualizacji zestawu komponentów, które wykonają to, co chcesz, bez automatyzacji.

Istnieje Winsoft's Office Component Suite, ale zobaczysz, że nie został zaktualizowany do pracy z najnowszą wersją pakietu Office lub z Delphi 2009+.

Powiązane problemy