Michał
Karpierz
Specjalista do spraw
projektowania i
programowania, ZETO
Temat: Modyfikacja plików doc oraz docx
WitamPotrzebuję napisać fragment kodu, który do plików wgrywanych na serwer przez użytkownika będzie automatycznie dodawał nagłówek o pewnej treści (chodzi tylko o pliki doc oraz docx). Aby to uzyskać, korzystam z COM-a. Problem w tym, że o ile na środowisku testowym (PHP 5.3.5 + Apache) wszystko działa jak należy, natomiast po wgraniu na serwer produkcyjny (ten sam PHP ale serwer IIS), obiekt COM-a jest inicjowany, ale wywala się przy instrukcji otwierającej plik do edycji:
PHP Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Word<br/><b>Description:</b> This command is not available because no document is open.'
Informacje które można znaleźć za pomocą Google, niestety nic nie pomogły. Chciałem zapytać czy może ktoś mierzył się już z podobnym problemem? Może jest jakiś inny sposób poza COM-em, na uzyskanie takiej funkcjonalności (warunkiem koniecznym jest możliwość edycji zarówno docx jak i starszych doc) ?
Dodam również, że problem występuje również przy próbie tworzenia całkiem nowego dokumentu. Napisałem też taki sam fragment w ASP i rezultat był dokładnie ten sam, wywala się przy tej samej instrukcji.
Tomasz Grzechowski mysurveylab.com
Temat: Modyfikacja plików doc oraz docx
Nie jestem specjalista od COM'ow, ale z komunikatu wyjątku wynika, iz nie masz otwartego dokumentu, z ktorym chcesz pracowacJesli nie znajdujesz informacji na ten temat na google, to moze Twoj blad jest elementarny i dotyczy on kodu poprzedzajacego wyjatek, np:
* otwarcia dokumentu (niepoprawnie, cos pomijasz)
* inicjalizacji dokumentu (jw)
?
Komunikat wyjatku jest dosc jasny : (luzne tlumaczenie) Nie moge wykonac operacji, gdyz zaden dokument nie jest otwarty.
?Tomasz Grzechowski edytował(a) ten post dnia 15.02.12 o godzinie 13:16
Marek
M.
Monter, czyli taki
mały Paskud ;o)
Temat: Modyfikacja plików doc oraz docx
Podobnie jak Kolega proponuję prześledzić sposób otwierania dokumentu do którego ma zostać coś dodane.Być może różnica w konfiguracji PHP ma tu kluczowe znaczenie. Skoro działa lokalnie to problem może leżeć w wyłączonej ważnej funkcji na maszynie produkcyjnej, lub zwykły błąd w ścieżce do pliku(ów).
Przemysław R. pracownik
