2010-12-03 16 views

答えて

17

次の2つのオプションがあります。まず、それにリンクするだけです。 <a href="MyWordDocument.doc">My Word Document</a>、2番目はiframeを使用してドキュメントにポイントすることです。しかし、これを動作させるには、ほとんどのブラウザではサーバが文書とともにContent-disposition: inlineヘッダーを送信する必要があります。

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

そして、代わりにあなたのワード文書のスクリプトにリンクされていますあなたがこれを行うには、Webサーバーを設定することができない場合は、PHPのビットでドキュメントをラップすることができます。

これは動作するとは限りません。 content-dispositionヘッダーは単なるヒントに過ぎず、どんなブラウザでもそれを添付ファイルとして扱うことができます。

また、.docは正確に移植可能ではありません。基本的には、Wordを適切に表示する必要があります(Open Officeと他のいくつかのオープンソースアプリケーションはまともな仕事をしていますが、まだまだありません)。ブラウザはWordをプラグインとして開くことをサポートする必要があります。

.docファイルフォーマットの要件が石で設定されていない場合は、PDFがより良い選択になります(変換は通常、WordPressの中のCutePDFなどのPDFプリンタで簡単に印刷できます)。ドキュメントをHTMLに変換することもできます(ただし、マイレージは異なる場合があります)。

+1

オープンオフィスは '.doc'ファイルを表示する際に100%正確ではありませんが、MS-Wordについても同じことが言えます。私は両方について同じ失敗率を抱いていました。それは問題である '.doc '形式です。 –

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

Officeドキュメントがインストールされている場合は、ブラウザが必要です。私はMicrosoft Officeが少なくともデフォルトでInternet Explorer用のものをインストールすると信じています。

プラグインなしで作業したい場合は、互換性を最大限に高めるために、別の形式(HTML)に変換する必要があります。これは、特に複雑な文書(または単に画像を含むもの)の場合、些細な操作ではありません。

3

.docファイルにオンラインでアクセスできる場合は、Office Web Viewerサービスを試すことができます。

文書がイントラネットに格納されている場合は、Microsoft Office Web Appsサーバーを使用できます。それは、ユーザーがブラウザを介してWord、PowerPoint、Excelのドキュメントを表示することができます。

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

フィードバックと提案されたソリューションをありがとう。私はOPがこれをどのように使用するのか、そして何をしているのかについて精緻に評価してくれると確信しています。 –

+2

これは質問に答えません。これは、ファイルをダウンロードします(他のヘッダーパラメータを含む) – Dadani

3

あなたはIFRAMEにファイルパスを割り当てることができ それは無料と信頼性があるとして、あなたは代わりにGoogleドキュメントを使用することができます。

iframe1.Attributes.Add( "Src"、 "http://docs.google.com/gview?url=http://YOUR_FILE_PATH &埋め込み= true");

+0

非常に良い!私はこれを知らなかった。 –

+0

http://view.officeapps.live.com/op/view.aspx?src=< - Microsoftバージョン –

関連する問題