استخراج المعادلات والصور من الوورد
سؤال
هل هناك طريقة برمجية لاستخراج المعادلات (وربما الصور) من مستند MS Word؟لقد بحثت في Google في كل مكان، لكن لم أجد بعد أي شيء يمكنني أن أغرق فيه أسناني وأعمل منه.إذا كان ذلك ممكنًا، أود أن أكون قادرًا على القيام بذلك باستخدام VB.NET أو C#، لكن يمكنني تعلم ما يكفي من أي لغة لاختراق ملف DLL.شكرًا!
يحرر: أنا الآن أتطلع إلى استخراج المعادلات من Word 2003، ولكن إذا كان تحويلها إلى 2007/Open XML مطلوبًا، فلا بأس بذلك.
المحلول
لا أعرف ما إذا كان أي من هذا سيساعد، ولكن نموذج الكائن في Word 2000/2003 له InlineShapes
جمع كجزء من Document
كائن يمثل الصور المضمنة وربما كائنات مماثلة مثل المعادلات.
بعض تعليمات VBA البرمجية لنسخ العنصر الأول إلى الحافظة، مما قد يساعدك في استخراجها:
ThisDocument.InlineShapes.Items(1).Select
Selection.Copy
ويمكن الوصول إليه في .NET أيضًا، رابط MSDN.
نصائح أخرى
ما هو تنسيق Word الموجود في مستنداتك؟إذا كانت في Open XML (امتداد الملف .docx)، فيمكنك استخدام ملف افتح XML SDK متاح من Microsoft لاستخراج الصور والمحتوى المضمن.
ملف XML المفتوح ليس سوى أرشيف مضغوط يستخدم بنية خاصة.ستجد أمثلة في SDK حول كيفية الوصول إلى أجزاء من هذا الأرشيف المضغوط.في الواقع يمكنك استخدام أي مكتبة قادرة على الضغط لاستخراج المحتوى من حزمة المستندات.
إذا كانت المستندات لا تزال تستخدم التنسيق الثنائي الأقدم، فستكون الأمور أكثر تعقيدًا بعض الشيء.أعتقد أن أسهل طريقة هي تحويل المستندات إلى تنسيق Open XML.هناك عدة طرق للقيام بذلك:
- احصل على الحرة والمفتوحة b2xtranslator من SourceForge الذي يقدم لك C# dlls لتحويل الملفات.
قم بتثبيت مايكروسوفت حزمة التوافق واستخدم سطر الأوامر التالي للتحويل:
"C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme input\_file output_file
حيث يجب أن يكون input_file وoutput_file أسماء المسار الكامل.
حاول النظر إلى كلمة إلى اللاتكس محول.فهو يتطلب إطار عمل .Net وعلى الرغم من عدم فتح المصدر بعد، إلا أن المؤلف يدعو إلى طرح أسئلة حول هذا الأمر.