يتم عرض مستند HTML Word هذا بشكل غير صحيح في OpenOffice.org

StackOverflow https://stackoverflow.com/questions/688524

  •  22-08-2019
  •  | 
  •  

سؤال

لدي هذا الكود البسيط بلغة 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، ومع ذلك، يتم تقليل العرض (ليس العرض المناسب!) عند فتحه باستخدام كاتب مكتب مفتوح.

هل كانت مفيدة؟

المحلول

وأنت في الواقع استيراد HTML إلى MS Word و OpenOffice.org. HTML ليس تنسيق أصلي من لا كلمة ولا OpenOffice.org، وهو ما يعني إدخال لابد من تحويلها أولا.

وليس من المستغرب أن هذه التطبيقات (الذي هو تحرير الوثائق في شكل الأصلي للتطبيق الغرض الرئيسي) يقومون يست وظيفة مثالية هناك. في الواقع - وهذا ليس كبير السري - ولا حتى متصفحات الويب، والتي الغرض الرئيسي <م> هو جعل من HTML ليست مثالية في هذا المجال.

والحل سيكون لتقديم HTML التي تعمل في كل التطبيقات. هل يمكن أن تفعل ذلك باستخدام التي هي مايكروسوفت تمديد الشخصية إلى HTML وبالتالي فهمها إلا من قبل منتجات 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]-->

نصائح أخرى

أعتقد أن أسهل طريقة لإنشاء ملفات DOC باستخدام PHP هي استخدام مكون 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