2017-09-03 3 views
0

Supposons que nous migrions un ensemble de fichiers MS Office d'un disque partagé vers SharePoint (par exemple, SharePoint Online). Limité à Office 2007, donc extensions de fichiers comme DOCX, XLSX.SharePoint modifie la taille des fichiers MS Office lors de la première sauvegarde, car les métadonnées sont ajoutées. Possible de confirmer que le contenu n'a pas changé?

Nous voyons que la taille du fichier change lorsqu'il est enregistré dans SharePoint - certaines métadonnées sont ajoutées. (Bien que la taille des fichiers autres que MS Office tels que PDF ou JPEG ne change PAS).

Ces fichiers MS Office sont des «conteneurs» dans lesquels sont placés un certain nombre de composants - cette situation peut être grossièrement vue en changeant l'extension d'un fichier XLSX (par exemple) en ZIP et en l'ouvrant avec WinZip.

Pour de bonnes raisons d'intégrité sonore, nous voulons nous assurer que la partie "Contenu du fichier" n'a pas changé. Comment pouvons-nous identifier les composants dans ces conteneurs qui représentent le contenu? Ces composants sont-ils invariants quand ils sont sauvegardés dans SharePoint comme décrit?

Si tel est le cas, existe-t-il des utilitaires qui pourraient analyser une paire de ces fichiers et confirmer que le contenu est le même ou s'il a été modifié? Y a-t-il peut-être une somme de contrôle que nous pourrions générer à partir des deux fichiers et comparer.

Si un tel utilitaire n'existe pas quel type d'environnement serait le mieux pour en créer un? - pourrait-il être fait dans VB.NET et/ou C# par exemple?

Merci.

Cet article précédent portait sur le même problème, mais ne fournit pas le genre de réponse dont nous avons besoin. C# - Hash contents of MS Office documents without metadata

Répondre

0

Sujet intéressant. Comment pouvons-nous identifier les composants dans ces conteneurs qui représentent le contenu?

dans le docx, vous devrez évaluer chacun des fichiers de contenu. Sachez que les fichiers d'un docx sont compressés en utilisant deflate. Donc vous devrez probablement les gonfler. Ce n'est pas seulement le document.xml et le fichier document.xml.rels mais aussi: - les fichiers en-tête xml (peuvent être plus de 1) - en-tête .rels fichiers - pieds de fichiers XML (encore plusieurs fichiers) - les fichiers de bas de page) - les fichiers multimédias (contenant des images)

Vous avez même de vérifier le fichier core.xml si la rétrogradation de la propriété SharePoint modifie un champ comme le titre.

Pour résumer, vous ne pouvez pas comparer les fichiers docx au niveau docx. Vous devrez les déballer et comparer (utiliser par exemple CRC32 ou MD5) chacun des fichiers "content".

Je ne suis pas au courant des utilitaires fournissant cette fonctionnalité.

Remarque: si vous avez seulement besoin de télécharger les fichiers sur SharePoint pour archivage, les placer dans des fichiers zip séparés peut être une alternative.Ce n'est bien sûr qu'une option si vous avez juste besoin de stocker le contenu et ne vous attendez pas à ce que les utilisateurs apportent des modifications.

Paul