web-dev-qa-db-fra.com

Comment visualiser/ouvrir un document Word dans mon navigateur en utilisant avec PHP ou HTML

Comment ouvrir et afficher une extension de fichier .doc dans mon navigateur? Le fichier se trouve sur mon serveur.

13
Ruben

Deux options: La première consiste à créer un lien, par exemple <a href="MyWordDocument.doc">My Word Document</a>, le second consiste à utiliser un iframe et à le pointer vers le document. Pour que cela fonctionne, cependant, la plupart des navigateurs exigent que le serveur envoie un en-tête Content-disposition: inline avec le document. Si vous ne pouvez pas configurer votre serveur Web pour ce faire, vous pouvez envelopper le document dans un peu de php:

<?php
header('Content-disposition: inline');
header('Content-type: application/msword'); // not sure if this is the correct MIME type
readfile('MyWordDocument.doc');
exit;

Et liez ensuite ce script à la place de votre document Word.

Ce n'est pas garanti pour fonctionner si; l'en-tête content-disposition n'est qu'un indice, et tout navigateur peut choisir de le traiter comme une pièce jointe.

En outre, notez que .doc n'est pas vraiment portable; En gros, vous avez besoin de Word pour l'afficher correctement (Open Office et quelques autres applications Open Source font un travail correct, mais elles ne sont pas encore terminées), et le navigateur doit prendre en charge l'ouverture de Word en tant que plugin.

Si l'exigence de format de fichier .doc n'est pas figée, PDF serait un meilleur choix (la conversion est généralement aussi simple que de l'imprimer sur une imprimante PDF, par exemple, CutePDF, à partir de Word ), ou peut-être pouvez-vous même convertir le document en HTML (le kilométrage peut toutefois varier).

17
tdammers
<a href="foo.doc">…</a>

Vous aurez besoin d'un navigateur avec un plugin pour les documents Office installé. Je pense que Microsoft Office en installera un au moins pour Internet Explorer par défaut.

Si vous souhaitez travailler sans plug-in, vous devez convertir le document dans un autre format: HTML pour une compatibilité maximale. Ce n'est pas une opération banale, surtout pour les documents complexes (ou même ceux qui ne contiennent que des images).

6
Quentin

Si votre fichier .doc est accessible en ligne, vous pouvez essayer Office Web Viewer service.

Si vos documents stockés sur Intranet, vous pouvez utiliser Microsoft Office Web Apps Server. Il permet aux utilisateurs de visualiser des documents Word, PowerPoint et Excel via un navigateur.

4
yesnik

Vous pouvez utiliser google docs à la place car il est gratuit et fiableVous pouvez affecter votre chemin de fichier à iframe.

par exemple. iframe1.Attributes.Add ("Src", " http://docs.google.com/gview?url=http://YOUR_FILE_PATH & embedded = true");

3
Hardik Mali
$file = "$file_name.doc";
$len = filesize($file); // Calculate File Size
ob_clean();
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public"); 
header("Content-Description: File Transfer");
header("Content-Type:application/Zip"); // Send type of file
$header="Content-Disposition: attachment; filename=$patient_name.Zip;"; // Send File Name
header($header );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$len); // Send File Size
@readfile($file);
1
emeka
//Edit
$header="Content-Disposition: attachment; filename=$file_name.doc;"; // Send File Name
0
emeka