سؤال

أريد أن يكون PHP قراءة (تحميلها) powerpoint التقديمي الحد الأدنى استخراج النص من كل شريحة (الاستيلاء على مزيد من المعلومات مثل الصور والتصاميم حتى يكون أفضل ، ولكن أود أن تسوية مجرد النص في هذه النقطة).

وأنا أعلم أن google apps لا في عرضه التطبيق, لذلك أنا أعتقد أن هناك وسيلة لترجمة powerpoint الثنائية, ولكن أنا لا يمكن أن يبدو للعثور على أي معلومات حول كيفية القيام بذلك.

أي أفكار عن المحاولة ؟

شكرا -

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

المحلول 4

وكنت أرغب في الرد على قرار بلدي لذلك.

ولسوء الحظ، لم أتمكن من الحصول على PHP لقراءة موثوق البيانات الثنائية.

وكان لي حل لكتابة التطبيق VB6 الصغيرة التي لا عمل من خلال أتمتة باور بوينت.

وليس ما كنت أبحث عنه، ولكن لا يحل القضية في الوقت الراهن.

وأن يقال، والخيار زند يبدو أنه قد يكون قابلا للتطبيق في مرحلة ما، ولذا فإنني سوف يشاهد ذلك.

وشكرا.

نصائح أخرى

واعتمادا على الإصدار، يمكنك إلقاء نظرة على الإطار زند كما Zend_Search_Lucene غير قادرة على مؤشر ملفات PowerPoint 2007. مجرد إلقاء نظرة على ملف فئة المقابلة، وأعتقد أنه شيء من هذا القبيل Zend_Search_Lucene_Document_Pptx.

نعم بالطبع كان من الممكن.

[وهنا تبدأ.](http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/PowerPoint97-2007BinaryFileFormat(ppt)Specification.pdf) لن أقول انها موثقة/منسقة ، ولكن الأمر ليس صعبا بمجرد الشروع في العمل.تبدأ من خلال التركيز فقط على العناصر التي تحتاج إليها (الشرائح, والنص, الخ).

أقل تفصيلا و أبسط طريقة فتح .ملف ppt في محرر عرافة والبحث عن المعلومات كنت interesed في (يجب أن تكون قادرا على رؤية النص في البيانات الثنائية) و ما يحيط به.ثم بناء على ما يحيط هذه المعلومات يمكن أن تكتب محلل والتي تستخرج هذه المعلومات.

وهنا دالة نموذج أنا خلقت شكل من مماثل واحد الذي يستخرج النص من مستندات Word. اختبرته مع ملفات مايكروسوفت باور بوينت، لكنها لن فك الملفات المحفوظة كما PPT. OpenOfficeImpress

لملفات .PPTX قد ترغب في إلقاء نظرة على زند لوسين.

    function parsePPT($filename) {
    // This approach uses detection of the string "chr(0f).Hex_value.chr(0x00).chr(0x00).chr(0x00)" to find text strings, which are then terminated by another NUL chr(0x00). [1] Get text between delimiters [2] 
    $fileHandle = fopen($filename, "r");
    $line = @fread($fileHandle, filesize($filename));
    $lines = explode(chr(0x0f),$line);
    $outtext = '';

    foreach($lines as $thisline) {
        if (strpos($thisline, chr(0x00).chr(0x00).chr(0x00)) == 1) {
            $text_line = substr($thisline, 4);
            $end_pos   = strpos($text_line, chr(0x00));
            $text_line = substr($text_line, 0, $end_pos);
            $text_line = preg_replace("/[^a-zA-Z0-9\s\,\.\-\n\r\t@\/\_\(\)]/","",$text_line);
            if (strlen($text_line) > 1) {
                $outtext.= substr($text_line, 0, $end_pos)."\n";
            }
        }
    }
    return $outtext;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top