PDA

Visualizza la versione completa : modificare manualmente file .doc


cane-nero
17-08-2008, 15:49
salve, spero che questa sia la sezione giusta. Ho una domanda: ho creato un file .doc con word scrivendoci "ciao", l' ho salvato e ho provato ad aprirlo col blocco note. A questo punto ho visto che non c' era scritto semlicemente: "ciao" ma anche molti altri caratteri. Nell' ultima riga di codice c' era scritto:


À F Microsoft Office Word Document
MSWordDoc  Word.Document.8 ô9²q

allora ho fatto questo: ho cancellato la 'M' di microsoft e l' ho riscritta uguale. Alla fine ho aperto il file con word ed è saltato fuori questo messaggio:
http://img180.imageshack.us/img180/7751/senzanometruecolor02ii1.th.jpg (http://img180.imageshack.us/my.php?image=senzanometruecolor02ii1.jpg)
la mia domanda è perchè non riesaco più ad aprirlo?

pallinopinco
17-08-2008, 16:03
la mia domanda è perchè non riesaco più ad aprirlo?


Perché i file .DOC sono file binari, quindi non puoi modificarli con un banale blocconote ma devi rispettare le specifiche (molto) complesse e dettagliate (http://msdn.microsoft.com/en-us/library/cc313105.aspx) che ne definiscono il formato.

MItaly
17-08-2008, 19:20
Pertanto se li devi modificare programmaticamente ti consiglio di utilizzare le apposite interfacce COM che Office mette a disposizione.

cane-nero
17-08-2008, 21:01
è possibile modificarli con php?

pallinopinco
17-08-2008, 21:24
Puoi interagire con gli oggetti COM in PHP (http://php.mirror.camelnetwork.com/manual/en/faq.com.php), ma immagino che passare dal voler modificare un file .DOC con il notepad ad usare la COM Automation in PHP non sia una cosa indolore, anche perché la documentazione non è poi così copiosa se comparata a quella disponibile per altre piattaforme.

MItaly
17-08-2008, 22:45
Se intendi fornire all'utente tramite una pagina web dei documenti da salvare sul PC è meglio crearli in PDF, molto più supportato del formato .doc e facilmente creabile tramite PHP.

cane-nero
18-08-2008, 10:46
quello che dovrei fare sarebbe semplicemente criptarli. Essendo un tipo di file binario (quindi composto da numeri) sarebbe possibile vedere questi numeri con una funzione php o qualcosa di simile?

(spero di essermi spiegato bene)

pallinopinco
18-08-2008, 10:53
Se vuoi soltanto criptarli non è necessario conoscerne il formato, ovviamente prima di poterli usare in Word dovrai decriptarli. Le funzioni da usare sono quelle esposte da mcrypt (http://www.php.net/mcrypt).

cane-nero
18-08-2008, 11:03
Originariamente inviato da pallinopinco
Se vuoi soltanto criptarli non è necessario conoscerne il formato, ovviamente prima di poterli usare in Word dovrai decriptarli. Le funzioni da usare sono quelle esposte da mcrypt (http://www.php.net/mcrypt).
mi servirebbe semplicemente una funzione che mostri quei numeri, il programma per criptare i files lo vorrei fare io :)

aleritty
18-08-2008, 11:09
e se li servissi invece che in .doc in .odt? Lo standard è aperto e molto più semplice da modificare del .doc!

(il migliore rimane pdf come semplicità! ma se servono da modificare in un secondo tempo non puoi usarlo)

Inoltre odt è uno standard internazionale iso! doc NO

Loading