php - تحليل ملفات ميكروسوفت أوفيس 2007 وتوليدها(.docx و.xlsx و.pptx)




python perl (3)

لدي مشروع ويب حيث يجب استيراد النص والصور من مستند يوفره المستخدم، وأحد التنسيقات الممكنة هو ميكروسوفت أوفيس 2007. وهناك أيضا حاجة لإنشاء مستندات بهذا الشكل.

الخادم يعمل سينتوس 5.2 و فب / بيرل / بايثون مثبتة. يمكنني تنفيذ الثنائيات المحلية والقذائف النصية إذا كان لا بد لي من. نحن نستخدم أباتشي 2.2 ولكن سيتم التبديل إلى نجينكس مرة واحدة على الهواء مباشرة.

ما هي خياراتي؟ كان أي شخص تجربة مع هذا؟


تنسيقات ملفات أوفيس 2007 مفتوحة وموثقة بشكل جيد . تقريبا، كل تنسيقات الملفات الجديدة التي تنتهي ب "x" هي مضغوط شمل ملفات شمل. فمثلا:

لفتح ملف شمل 2007 ورد إنشاء مجلد مؤقت لتخزين الملف وأجزائه.

حفظ مستند ورد 2007 الذي يحتوي على نص وصور وعناصر أخرى كملف دوك.

أضف إضافة .zip إلى نهاية اسم الملف.

انقر نقرا مزدوجا فوق الملف. وسوف تفتح في تطبيق زيب. يمكنك مشاهدة الأجزاء التي تتكون من الملف.

استخراج الأجزاء إلى المجلد الذي قمت بإنشائه مسبقا.

تنسيقات الملفات الأخرى متشابهة تقريبا. أنا لا أعرف من أي مكتبات مفتوحة المصدر للتفاعل معهم حتى الآن - ولكن اعتمادا على الاحتياجات الخاصة بك بالضبط، فإنه لا يبدو من الصعب جدا قراءة وكتابة وثائق بسيطة. بالتأكيد يجب أن يكون أسهل بكثير من مع الأشكال القديمة.

إذا كنت بحاجة إلى قراءة التنسيقات القديمة، أوبينوفيس لديه أبي ويمكن قراءة وكتابة أوفيس 2003 والوثائق القديمة مع نجاح أكثر أو أقل.


ربما يمكنك التحقق من التعليمات البرمجية ل سفيدر . وثائق و بدف، لذلك أنا متأكد من أنها يمكن قراءتها. قد يؤدي أيضا لك في الاتجاه الصحيح لأشكال أوفيس الأخرى.


وحدة دوك الثعبان يمكن أن تولد ملفات ميكروسوفت أوفيس دوك تنسيق من بيثون النقي. من خارج منطقة الجزاء، فإنه لا الرؤوس، الفقرات، والجداول، والرصاص، ولكن يمكن توسيع وحدة ماكيليمنت () للقيام عناصر التعسفي مثل الصور.

from docx import *
document = newdocument()

# This location is where most document content lives 
docbody = document.xpath('/w:document/w:body',namespaces=wordnamespaces)[0]

# Append two headings
docbody.append(heading('Heading',1)  )   
docbody.append(heading('Subheading',2))
docbody.append(paragraph('Some text')




office-2007