2012-05-02 30 views
5

Tworzę aplikację internetową. Część obejmuje automatyczne generowanie dokumentów tekstowych (liter). Dokumenty te muszą zostać otwarte przez użytkownika końcowego, a następnie zapisane ponownie na serwerze po zakończeniu edycji.Ładowanie/zapisywanie dokumentów programu Word z aplikacji sieci Web (asp.net MVC)

Próbowałem użyć webdav do tego, ale jedyną przeglądarką, z której mogę uruchomić słowo (przy użyciu active-x) było IE. Znalazłem też wtyczkę do Firefoksa, ale dla Chrome nie mogłem znaleźć sposobu, który działał.

Następnie pomyślałem o tym, aby klienci zamapowali dysk do webdav (lub podobnego), a następnie oferując pliki jako pliki: // ... links, ale działa to tylko wtedy, gdy strona jest na lokalnym komputerze.

Zanim skorzystam z opcji odrzucenia słowa (klienci tego nie polubią) i używając CKEditor lub TinyMCE, czy istnieje inny sposób?

Krótko mówiąc, chciałbym mieć linki do dokumentu na stronie, który po kliknięciu otwiera się w słowie, ale plik powinien pozostać zdalny - a następnie, podczas zapisywania, jest to plik zdalny, który jest aktualizowany.

Spojrzałem również na Zoho, ale może to być bardzo kosztowne dla tego projektu, a także nie sądzę, że może być oznaczony na biało, a także wygląda nieco staroświecko, a to z punktu widzenia użytkownika.

Może SharePoint może zrobić to, czego potrzebuję? Nie patrzyłem na tak wiele. Pomyślałem także o tym, aby aplikacja kliencka działała w zasobniku systemowym i zajmowała się sprawami.

Jeśli był przyzwoity sposób edytowania dokumentów Worda z poziomu przeglądarki za pomocą czegoś takiego jak CKEditor/TinyMCE i po zakończeniu konwersja z powrotem do formatu Word faktycznie działała w 100%, to by wystarczyło.

Jestem otwarty na zupełnie nowe pomysły, jeśli ktoś ma jakieś ...

+0

Zrobiłem trochę RND na tym problemie i otrzymałem jedno obejście problemu . skorzystaj z tego linku, aby wykonać kroki i wprowadzić kod . http: // steptodotnet.blogspot.com/2012/ how-to-edit-word-document- using-aspnet.html Tutaj dostaniesz również kod i kompletne kroki. –

Odpowiedz

0

Idealnie, użytkownicy będą mogli korzystać z programu Word natywnie. Czy jest jakaś szansa, że ​​możesz create an Office Add-In podłączyć się do zdarzenia BeforeDocumentSave, poszukać jakiegoś wskaźnika, że ​​plik jest powiązany z aplikacją i zapisać zaktualizowany plik na serwerze?

Zapisanie na serwerze za pomocą dodatku Word prawdopodobnie będzie wymagało dołączenia unikalnego identyfikatora (oprócz nazwy pliku), aby można było zastąpić poprzednią wersję serwera. Następnie, jeśli używasz czegoś takiego jak SignalR, możesz uruchomić odświeżanie na stronie internetowej, gdy plik został zapisany pomyślnie (zakładając, że nadal były na tej stronie) na serwerze (przez FileSystemWatcher).

0

Sam miałem ten sam problem.

Rozwiązałem go, konfigurując udział webdav na serwerze z uwierzytelnianiem digest (SabreDAV) i powiązałem go z tabelą użytkowników w moim backendie aplikacji.

W odniesieniu do końca klienta rozwiązałem ten problem, tworząc mały aplet java, który korzysta z klasy java Desktop (getDesktop(). Open()), aby otworzyć plik. Musisz upewnić się, że ścieżka jest obsługiwana dla typu komputera klienckiego (Windows, OS X lub Linux)

Konieczne będzie także nakłonienie użytkowników końcowych do trwałego zamontowania lub zmapowania lokalnego udziału Webdav.

1

Obecnie dodatek do przeglądarki MS Office obsługuje przeglądarki Chrome, Firefox i Safari. Mogą otwierać i zapisywać dokumenty bezpośrednio na serwerze. Przetestowałem to z MS Office 2007 i MS Office 2007 około miesiąc temu.

Powiązane problemy