2017-09-03 3 views
0

Angenommen, wir migrieren eine Reihe von MS Office-Dateien von (sagen wir) einem freigegebenen Laufwerk zu SharePoint (z. B. SharePoint Online). Begrenzt auf Office 2007, also Dateierweiterungen wie DOCX, XLSX.SharePoint ändert die Größe von MS Office-Dateien beim ersten Speichern, da Metadaten hinzugefügt werden. Kann bestätigt werden, dass sich der Inhalt nicht geändert hat?

Wir sehen, dass sich die Größe der Datei ändert, wenn sie in SharePoint gespeichert wird - wenn bestimmte Metadaten hinzugefügt werden. (Obwohl Dateigrößen von nicht MS Office-Dateien wie PDF oder JPEG nicht ändern).

Diese MS Office-Dateien sind "Container", in denen eine Reihe von Komponenten platziert werden - diese Situation kann grob gesehen durch Ändern der Extension einer XLSX-Datei (sagen wir) in ZIP und Öffnen mit WinZip.

Aus Gründen der guten Klangintegrität möchten wir uns versichern, dass sich die Komponente "File Content" nicht geändert hat.

Wie können wir die Komponenten in den Containern identifizieren, die den Inhalt darstellen? Sind solche Komponententeile invariant, wenn sie wie beschrieben in SharePoint gespeichert werden?

Wenn ja, gibt es irgendwelche Dienstprogramme, die ein Paar solcher Dateien analysieren und bestätigen können, dass der Inhalt derselbe ist oder wenn er geändert wurde? Gibt es vielleicht eine Prüfsumme, die wir aus beiden Dateien erzeugen und vergleichen können?

Wenn kein solches Dienstprogramm existiert, welche Art von Umgebung wäre am besten für die Erstellung eines? - Könnte es zum Beispiel in VB.NET und/oder C# gemacht werden?

Danke.

Dieser vorherige Beitrag bezieht sich auf das gleiche Problem, bietet aber nicht die Art von Antwort, die wir brauchen. C# - Hash contents of MS Office documents without metadata

Antwort

0

Interessantes Thema. Wie können wir die Komponenten in den Containern identifizieren, die den Inhalt darstellen?

im docx müssen Sie jeden der Inhaltsdateien bewerten. Bitte beachten Sie, dass die Dateien in einem Dokument mit deflate komprimiert werden. Also wirst du sie wahrscheinlich aufblasen müssen. Dies ist nicht nur die document.xml und die document.xml.rels Datei, sondern auch: - die Header-XML-Dateien (kann mehr als 1 sein) - Header .rels Dateien - Fußzeile XML-Dateien (wieder mehrere Dateien) - Fußzeile .rels Dateien) - die Mediendateien (mit Bildern)

Sie müssen auch die core.xml Datei überprüfen, ob Sharepoint-Eigenschaft Degradierung ein Feld wie Titel ändert.

Zusammenfassend können Sie die docx-Dateien auf der docx-Ebene nicht vergleichen. Sie müssen sie entpacken und jede der "Inhalt" -Dateien vergleichen (z. B. CRC32 oder MD5).

Ich kenne keine Dienstprogramme, die diese Funktionalität bieten.

Hinweis: Wenn Sie die Dateien nur zur Archivierung in SharePoint hochladen müssen, können Sie sie in separaten Zip-Dateien ablegen.Dies ist natürlich nur eine Option, wenn Sie nur den Inhalt speichern und nicht erwarten, dass die Benutzer Änderungen vornehmen.

Paul

Verwandte Themen