Modyfikowanie plików *.doc

0

Cześć.

Potrzebuje generować po stronie serwera pewne dokumenty Wordowe na podstawie danych z formularza i wysyłac je mailem. Wszystko jest jasne i proste, ale jak mogę w php modyfikować plik worda ( bo planuje zrobić szablon), bez plików COM oraz samego Offica ?? Wiem, że docx to banał - rozpakowujesz i robi się replace pewnych tokenów, ale doc jest binarny, a nie znalazłem specyfikacji - pytanie czy można podobnie, np. wczytać plik binarny i zamieniac tokeny, ale jak te tokeny znaleźć - ktoś wie, jak jest kodowany tekst w doc ?? Myślałem, że jak się tego dowiem, to tokeny też zamienię do formy binarnej i docelowy tekst i zrobię replace po tablicy bajtów. Jeśli ktoś miał z tym do czynienia to proszę o pomoc. Z góry dziękuję !

0

W RTF to w miarę proste bo to format tekstowy - tak robiłem.
Ale jeśli DOC jest wymogiem koniecznym to konwersja RTF na DOC może się średnio udać.

Możesz jeszcze użyć Open XML:
https://msdn.microsoft.com/en[...]ry/ee840137(v=office.12).aspx

0

Dzięki za podpowiedź, ale wiem jak to zrobić w docx, własnie problemem jest doc. Hmm ale LibreOffice jakoś zapisuje doc - nie ma jakiś komponentów które można by "wywrwać" z LibreOffice ??

0

Hmmm. Nie będzie tak źle. Plik jest binarny, ale tekst jest zapisany w Unicode na 4 bajtach. Jeżeli podmienie tokeny na docelowy tekst zakodowany binarnie jako unicode to powinno dac radę. Dam znać czy mi się udało.

0

A nie pomyślałeś, żeby użyć do tego libki? https://github.com/PHPOffice/PHPWord

0

Myślałem, ale ten lib nie obsługuję doc, więc mogę z nim zrobić dokładnie nic ;) .

0

To jednak nie będzie takie proste. Zamieniając bajty na inne, i zmieniając rozmiar pliku zaczyna sie kaszana. Walcze dalej.

0

Cześć. Okazuje sie, że docx starczy bo to będzie i tak otwierane w OpenOffice, więc pozostanę przy zamienianiu tokenów w xml, i nie będę dalej szedł w parsowanie binarnego doc. Dzięki za chęć pomocy, ale czasami łatwiej zmienić wymagania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0