سؤال

أنا بحاجة إلى أن يكون قادرا على تحديد أن ملف معين هو ODF الملف استنادا إلى محتويات الملف وليس على ملحق اسم الملف.

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

ما أنا حقا طالبا هل هناك أي الملفات التي يتم مطلوب أن يكون حاضرا في ODF الحاوية ؟ إذا كان وجود هذا الملف في الرمز البريدي حاوية يشير إلى أنه من المرجح أن تكون ملفات ODF ، وغياب هذا الملف يدل على أنه بالتأكيد لا وهي ملفات ODF.

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

المحلول

لماذا لا تحقق ODF المواصفات الفنية?نوعه الملفات المذكورة هناك من المحتمل أن يكون وسيلة مثالية تحقق (مجرد إلقاء نظرة على vnd.oasis.opendocument سلسلة في نوع mime).

نصائح أخرى

كما أفهم ، سوف يكون هناك دائما .xml file(s) في جذر الأرشيف و هذا/هذه ملفات xml دائما تحتوي على السلسلة <office:document قريبة جدا من البداية.

كل تلك التي رأيتها يبدو أن تحتوي على ملف يسمى "content.xml" في جذر التي لا تحتوي على هذه السلسلة.

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

وأود أن اختبار مع شيء من هذا القبيل على دفعة من ملفات ODF, للتحقق مما إذا كان هو موثوق بها:

$ unzip -c $FILE content.xml | grep -q '<office:document' && echo yes || echo NO

قراءة في بناء الهوية - إذا كان في عداد المفقودين ، الوثيقة ليست ODF.

oDoc = ThisComponent
If oDoc.BuildID = "" Then
    bIsNotODF = TRUE
Endif
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top