سؤال

لديّ إنشاء وثيقة آلية من قوالب باستخدام ""مكتبة كائن Microsoft Word 12.0"في مشروعي ، لكنه بطيء بشكل غير مقبول. أنا أبحث عن بدائل: أحتاج إلى إنشاء مستند من قالب ، وتشغيل بعض الماكرو وإدراج النص والجداول في نطاقات مرجعية مختلفة (بعض خيارات تنسيق النص ستكون لطيفة أيضًا) . أنا فقط بحاجة إلى الوثيقة النهائية لتكون متوافقة مع Word2007, ، ولكن يفضل حل متاح بسهولة من .صافي (توصيات أخرى موضع تقدير أيضًا) ...

يرجى تقديم النصيحة.

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

المحلول

ألق نظرة على Microsoft's Office OpenXML SDK. يتيح لك إنشاء مستندات Word 2007 (.Docx) برمجياً دون تطبيقات المكتب.

لاستخدامه ، ستحتاج إلى أن تكون على دراية بتنسيق ملف OpenXML. نقطة انطلاق جيدة أيضًا توفر أمثلة هي المدونات براين جونز و إريكا إيرلي.

قد تكون هذه العينة على codeproject أيضًا بداية جيدة: إنشاء مستند Word 2007 باستخدام تنسيق XML المفتوح SDK.

أوصي أيضًا بإلقاء نظرة على DocumentReflector ، وهي أداة مدرجة داخل SDK ، تقوم بإنشاء الكود لإنتاج مستند Word معين استنادًا إلى مستند موجود.

نصائح أخرى

الخيارات ، اعتدت على الآن:

  1. لك - COM Automation: لم يكن الأداء أكبر مشكلة هنا بالنسبة لي ، فقط جميع التفاصيل القبيحة لأتمتة COM مثل العمليات الميتة ، والملفات المقفلة ، ... ؛ بالنسبة لبعض المهام التي توجد فيها واجهة برمجة التطبيقات وطالما أن الشخص فقط يستخدم التطبيق ، فهو لا يزال خيارًا. يتطلب تثبيت الكلمات.
  2. استيراد HTML وحفظه ككلمة - يعمل بسرعة وأفضل كما هو متوقع ، طالما أن تنسيق كلمةك بسيط ويتطابق مع بنية علامة HTML بشكل جيد (مثل الرؤوس ، قوائم العناصر). لتبسيط المناولة ، يجب أن تكون القوالب HTML بعد ذلك ، وغالبًا ما يكون اختراقًا سريعًا لحالة استخدام محدودة. يتطلب تثبيت الكلمات.
  3. قوالب التسلسل والعملية المحفوظة كـ WordML: ينقذك ألم أتمتة COM ، ولكن نظرًا لأن WordML هو مجرد تنسيق ثنائي مقنع مثل XML ، فهو غالبًا ما يكون ألمًا ؛ وبالتالي بعض المهام أكثر تعقيدًا من استخدام كلمة api. ومع ذلك ، فأنا أفضل ذلك. لا يتطلب تثبيت كلمة.
  4. كما هو الحال في الإجابة السابقة ، يبدو OpenXML SDK: مجرد البدء في استخدام هذا ، حل وسط جيد قدره 1 و 3: العمل على مستوى XML أو على مستوى واجهة برمجة التطبيقات - أيا كان الأفضل لميزة معينة. لا يتطلب تثبيت كلمة.

توصيات أخرى موضع تقدير أيضًا

معادلات Java مع OpenXML SDK هي DOCX4J (مشروعي) ، و POI.

باستخدام DOCX4J ، يمكنك حقن وحدات الماكرو في DOCX موجودة ، أو العمل من DOTM (كما يوحي Divo).

كاتب المكاتب هو خيار آخر.

API Office Corper هي مكتبة .NET تتيح لك إنشاء مستندات Excel و Word وقراءةها من تطبيقاتك الخاصة ومعالجتها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top