문제

PHP 에이 간단한 코드가 있습니다.

<?php

header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment;Filename=kid_tag.doc");

echo '<table cellspacing="0" cellpadding="0" border="0" width="8.4cm">
    <tr>
    <td colspan="3" style="text-align: right; height: 0.6cm">Nursery</td>
    </tr>
    <tr>
        <td style="height: 1.8cm"><img src="http://images.funadvice.com/photo/image/old/6943/tiny/cat.jpg" /></td>
        <td style="text-align: center; font-weight: bold">Sofia Abello</td>
    <td>&nbsp;</td>
    </tr> 
    <tr>
    <td style="text-align: left; height: 0.6cm">9AM Oct-12-08</td>
    <td>&nbsp;</td>
    <td style="text-align: right">Dance Studio</td>
    </tr>  
</table>';

?>

그러나 MS Office Word로 OK를 표시하지만 열린 사무실 작가와 함께 열 때 너비가 줄어 듭니다 (적절한 너비!).

도움이 되었습니까?

해결책

실제로 HTML을 MS Word 및 OpenOffice.org로 가져오고 있습니다. HTML은 단어 나 OpenOffice.org의 기본 형식이 아니므로 입력을 먼저 변환해야합니다.

이러한 응용 프로그램 (주된 목적이 응용 프로그램의 기본 형식으로 문서 편집)이 완벽한 작업을 수행하지 않는 것은 놀라운 일이 아닙니다. 사실 - 그리고 그것은 큰 비밀이 아닙니다 - 웹 브라우저조차도, 그의 주요 목적 ~이다 HTML의 렌더링은 해당 영역에서 완벽하지 않습니다.

솔루션은 두 응용 프로그램에서 작동하는 HTML을 제공하는 것입니다. 당신은 그것을 사용하여 할 수 있습니다 조건부 의견 이는 HTML에 대한 독점적 인 Microsoft 확장이므로 Microsoft 제품에 의해서만 이해됩니다.

이것이 예제에서 어떻게 보일 수 있는지입니다.

<![if !mso]>
<table cellspacing="0" cellpadding="0" border="0" width="8.4cm">
  <tr>
    <td>OpenOffice.org Version</td>
  </tr>
</table>
<![endif]>
<!--[if mso]>
<table cellspacing="0" cellpadding="0" border="0" width="8.4cm">
  <tr>
    <td>Microsoft Word version</td>
  </tr>
</table>
<![endif]-->

다른 팁

PHP로 Doc 파일을 생성하는 가장 쉬운 방법은 Zend Framework 구성 요소를 사용하는 것입니다. phplivedocx. Word 또는 Open Office 템플릿을로드하고 텍스트 데이터를 병합하고 최종 문서를 Doc, Docx, RTF 및 PDF와 같은 여러 형식으로 저장할 수 있습니다.

프로젝트 웹 사이트에 대한 자세한 내용 :

http://www.phplivedocx.org/articles/brief-introduction-to-phplivedocx/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top