2016-08-04 3 views
1


이전에 괜찮은 doc 파일을 출력하고 싶습니다.
그러나 docx로 변경하면 내용에 문제가 있거나 파일이 손상되어 docx를 열 수 없다고 말했습니다.

'echo'를 꺼내면 오류가 발생하지 않지만 빈 내용이 표시됩니다.PHP : html에서 docx 파일 출력

$fileName = $m_year . "-" . $m_month . "-" . $m_con_id . " - Monthly Report.docx"; 
header("Content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.document"); 
header("content-disposition: attachment;filename=\"". $fileName ."\""); 
header('Cache-Control: public'); 
$content = ets_docMonthlyReportTemplate(); 
echo $content; 

가 그럼 난 vsword하지만, 나에게 불법 이름 문자를주고 변경 :
다음은 내 코드입니다. 위치 : 부 : /word/document.xml

require_once '/vsword/VsWord.php'; 
VsWord::autoLoad(); 
$doc = new VsWord(); 
$parser = new HtmlParser($doc); 
$content = ets_docMonthlyReportTemplate(); 
$html= $content; 
$parser->parse($html); 
echo '<pre>'.($doc->getDocument()->getBody()->look()).'</pre>'; 
$doc->saveAs($fileName); 

내가 헤더 MIME 타입으로 바로 출력 또는 라이브러리를 적용해야합니다 수 있습니까??
감사합니다.

+2

MIME 타입 헤더는 단순히 MIME 타입 헤더를 변경 변경을가 지급됩니다 VSword

있습니다 PHPWord

더 인기있는 것들의

하나는, 그것은 변화하지 않습니다 당신이 브라우저에 보내는 콘텐트 중 어떤 것이 든 브라우저의 shoud가 그 콘텐트를 해석하는 방법을 제안합니다 .... 자동적으로 HTML 마크 업을 네이티브 형식의 docx 파일로 변경하지 않습니다 .... 실제로 내용을 변경하려면 도서관 (또는 자신의 도서관을 쓰려면) –

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 그것은 나에게 충분히 명확하다. –

답변

0

이 작업을 수행하려면 라이브러리를 사용해야합니다. 또한도 soluitions PHPDocx