2010-12-03 81 views

Respuesta

17

Dos opciones: la primera es simplemente vincularla, p. Ej. <a href="MyWordDocument.doc">My Word Document</a>, el segundo es usar un iframe y señalarlo al documento. Para que esto funcione, sin embargo, la mayoría de los buscadores requieren que el servidor envíe un encabezado Content-disposition: inline con el documento. Si no se puede configurar el servidor web para hacer esto, se puede envolver el documento en un poco 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; 

Y luego enlazar a esa secuencia de comandos en lugar de su documento de Word.

No se garantiza que funcione; el encabezado de disposición de contenido es solo una pista, y cualquier navegador puede elegir tratarlo como un archivo adjunto de todos modos.

Además, tenga en cuenta que .doc no es exactamente portátil; Básicamente, necesita que Word lo muestre correctamente (Open Office y algunas otras aplicaciones de código abierto hacen un trabajo decente, pero aún no lo han logrado), y el navegador debe admitir abrir Word como un complemento.

Si el requisito de formato de archivo .doc no está escrito en piedra, PDF sería una mejor opción (la conversión suele ser tan simple como imprimirla en una impresora PDF, por ejemplo, CutePDF, desde Word), o tal vez incluso puede convertir el documento a HTML (sin embargo, el kilometraje puede variar).

+1

Es cierto que Open Office no es 100% precisa en la visualización de archivos '.doc', pero lo mismo puede decirse de MS-Word. He tenido aproximadamente la misma tasa de fracaso para ambos; El problema es el formato '.doc'. –

6
<a href="foo.doc">…</a> 

Necesitará un navegador con un plugin para documentos de Office instalados. Creo que Microsoft Office instalará uno para al menos Internet Explorer por defecto.

Si desea trabajar sin un complemento, deberá convertir el documento a otro formato: HTML para una compatibilidad máxima. Esta no es una operación trivial, especialmente para documentos complejos (o incluso aquellos que solo contienen imágenes).

3

Si su archivo .doc es accesible en línea, puede probar el servicio Office Web Viewer.

Si sus documentos están almacenados en Intranet, puede usar el servidor Microsoft Office Web Apps. Permite a los usuarios ver documentos de Word, PowerPoint y Excel a través del navegador.

1
$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); 
0
//Edit 
$header="Content-Disposition: attachment; filename=$file_name.doc;"; // Send File Name 
+4

Gracias por los comentarios y la solución propuesta. Estoy seguro de que el OP agradecería alguna explicación sobre cómo usar esto y lo que hace. –

+2

Esto no responde la pregunta. Esto descargará el archivo (con otros parámetros de encabezado incluidos) – Dadani

3

Puede utilizar Google Docs en lugar ya que está libre y fiable Puede asignar la ruta de archivo para iframe.

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

+0

¡Muy bonito! no sabía esto. –

+0

http://view.officeapps.live.com/op/view.aspx?src=<- Microsoft version –

Cuestiones relacionadas