سؤال

أحتاج إلى عملية تلقائية لإنشاء ملفات Docx من مصدر XHTML. تحتوي ملفات XHTML على صور (<img> العناصر) تشير سمات "SRC" إلى مرجع خارجي. لكن يجب أن تكون ملفات DocX قابلة للقراءة بدون اتصال شبكة، لذلك أحتاج إلى إيجاد طريقة لتضمين الصور مباشرة في حزمة DOCX (وهي في مجلد / الوسائط).

حتى الآن لقد استخدمت طريقة Altchunk (كما هو موضح من قبل إريك وايت) لإنشاء ملف .docx. كنت آمل أن استخدم SDK OpenXML لإدراج أجزاء الصورة في الحزمة. ولكن للقيام بذلك أحتاج إلى إدراج الفقرات (<p> العقد) في المستند. لسوء الحظ، لا يحتوي جزء المستند على أي شيء سوى مرجع إلى Altchunk (تخزينه بشكل منفصل في حزمة Docx). بالطبع، بمجرد فتح DOCX، تم تحريرها وحفظها، تتم إزالة الجزء Altchunk ويتم تضمين محتوياتها بشكل صحيح في المستند.xml. لكنني لا أعرف بأي طريقة للقيام بذلك برمجيا، لذلك لا يساعد ذلك.

خيارات أخرى تعتبرها:

  1. تقسيم XHTML إلى شرائح، مفصولة بين كل صورة، ثم إضافة كل Altchunk واحد في كل مرة، مع مرجع الصور المناسب بين كل واحد. (مملة ولكن يبدو ممكنا)
  2. إدراج الصور في مجلد الوسائط، ثم ابحث عن طريقة لتضمين WordProcessingml مباشرة في XHTML بحيث <img> مراجع ملف الصورة المعبأ. (مشكوك فيه في أحسن الأحوال) هل يمكن لأي شخص أن يفكر في نهج أفضل؟
هل كانت مفيدة؟

المحلول

حسنا، حل محل مشكلتي الخاصة: قررت تحويل المستند إلى MHTML (والتي يمكن أن تحتوي على صور مضمنة مباشرة في الملف) ثم استخدم AltChunk لإنشاء ملف DOCX النهائي. ومع ذلك، ما زلت أرغب في القيام ببعض المعالجة الموجودة في الملف (لإدراج التعليقات الختامية في مستند Word)، ولكن كما ذكر أعلاه، هذا غير ممكن حتى بعد تم تحويل Altchunk إلى Docx، والتي لا يمكن القيام بها برمجيا.

لذا فقد مررتني أنني أستطيع تجاوز مسار AltChunk تماما واستخدام MHTML ك "البوابة" من XHTML إلى Docx. أنا فقط حولت XHTML في MHTML، كاملة مع الصور المضمنة و التعليقات الختامية، ثم إعادة تسمية الملف بملحق .doc. يمكن فتح المستند الناتج مباشرة بواسطة Word (وسيتم تحويله بشكل صحيح على حفظ لاحق). حتى الآن يعمل بشكل رائع (وإن كان مع بعض الأخطاء في إصدار Mac من Word، وكذلك Word2003).

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