2011-03-17 3 views
3

HTML/PHP 형식의 Word 문서를 표시하는 가장 좋은 방법은 무엇입니까? 여기 HTML/PHP 형식의 Word 문서를 어떻게 표시합니까?

내가 현재 가지고있는 코드이지만 포맷하지 않습니다

$word = new COM("word.application") or die ("Could not initialise MS Word object."); 
$word->Documents->Open(realpath("ACME.doc")); 

// Extract content. 
$content = (string) $word->ActiveDocument->Content; 

echo $content; 

$word->ActiveDocument->Close(false); 

$word->Quit(); 
$word = null; 
unset($word); 
+0

그럴 수 있습니까? – alex

+0

내가 권하고 싶다 ... 내가 게시 한 코드는 작동하지만 다시 포맷해야한다. –

+1

Word 서식 지정 문법을 구문 분석하여 HTML 및 CSS로 변환 할 수있는 소프트웨어가 필요합니다. – alex

답변

3

나는 COM에 대해 아무것도 몰라,하지만 MSDN의 워드 API 문서 주위에 파고, 그것은 것입니다 당신의 최선의 방법처럼 보인다 Document.SaveAs을 사용하여 wsFormatFilteredHTML으로 임시 파일에 저장 한 다음 해당 HTML을 사용자에게 제공합니다. HTML을 선택해야합니다. 그렇지 않으면 soupiest 태그 스프 으로 가져올 것입니다.

+0

고마워, 지금은 그걸로 노력하고있어. –

+0

이 작업을 수행 할 수 없습니다 ... 다른 제안 사항이 있습니까? –

+0

그게 전부입니다, 불행히도. – Charles

4

나는 이것을 알아 냈다. 워드 문서를 읽는 솔루션을 확인하고 HTML에 포맷 : 내 PHP 페이지의 상단에있는 것들의

$filename = "ACME.doc"; 
$word = new COM("word.application") or die ("Could not initialise MS Word object."); 
$word->Documents->Open(realpath($filename)); 

$new_filename = substr($filename,0,-4) . ".html"; 

// the '2' parameter specifies saving in txt format 
// the '6' parameter specifies saving in rtf format 
// the '8' parameter specifies saving in html format 
$word->Documents[1]->SaveAs("C:/a1/projects/---full path--- /".$new_filename,8); 
$word->Documents[1]->Close(false); 
$word->Quit(); 
//$word->Release(); 
$word = NULL; 
unset($word); 

$fh = fopen($new_filename, 'r'); 
$contents = fread($fh, filesize($new_filename)); 
echo $contents; 
fclose($fh); 
//unlink($new_filename); 

커플 ... 갖는 "문자셋 = UTF-8"다이아몬드의 무리와 함께 추가되었다 질문 마크 ... 나는 그것을 삭제하고 완벽하게 작동합니다.

또한 SaveAs는 적어도 로컬에서 전체 경로가 있어야 작동하도록 만들 수 있습니다.

다시 도움 주셔서 감사합니다.