Comment puis-je vérifier un fichier de modèle Word? Il peut être vérifié en utilisant l'extension .dot ou .dotx. Mais si l'utilisateur a modifié un fichier .txt en .dot. Comment pourrait-il être identifié ??Vérifier le fichier modèle Word
Répondre
Pour vérifier un fichier dotx (qui est en fait un fichier zip), vérifiez l'en-tête:
0000000: 504b 0304 1400 0000 0800 95a1 3435 4a07 PK..........45J.
Les quatre premiers octets sont 0x050 0x4B 0x03 0x04. Cela démontrera si un fichier est un fichier zip (donc pas nécessairement un dotx), si vous voulez vérifier plus loin, vous devrez décompresser le tampon entier et analyser le XML résultant.
Pour vérifier un fichier de points (avant 2007), vérifiez l'en-tête:
0000000: d0cf 11e0 a1b1 1ae1 0000 0000 0000 0000 ................
huit premiers octets 0xD0 0xCF 0x11 0xE0 0xA1 0xB1 0x1a 0xE1
Donc, pour l'un de ces cas, ouvrez le fichier en mode binaire, lire les huit premiers octets et comparer.
Il est logique d'utiliser toute la signature, qui est de 4 octets pour les zips, et 8 pour le point. –
Merci Matthew, j'ai mis à jour pour refléter votre suggestion. – RedBlueThing
vérifier la signature du fichier, le fichier .dot doit commencer par D0 CF .....
Pourriez-vous s'il vous plaît développer votre réponse. – Sauron
Un fichier .dotx est juste un fichier ZIP, de sorte que vous pouvez vérifier si elle commence par « PK » (en-tête zip), vous devrez décompresser complètement le fichier et vérifier si le contenu est un modèle Word valide.
Pouvez-vous donner un code? – Sauron
Selon http://www.garykessler.net/library/file_sigs.html, la signature complète d'un fichier de points (entre autres) est:
D0 CF 11 A1 B1 1A E0 E1
Donc, ci-dessous est un code pour commencer. Cela fonctionne pour .dot, mais si vous voulez vérifier .dotx, vous pouvez implémenter un code similaire. Cela ne garantit pas absolument qu'il s'agit d'un point valide, vous devez donc gérer les erreurs raisonnablement plus tard.
// Use this as a class field.
private static readonly byte[] DOT_SIGNATURE = new byte[]{0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1};
Plus tard, quand vous avez réellement Stream:
bool isDot = true;
Stream dotStream = ...
byte[] firstBytes = new byte[DOT_SIGNATURE.Length];
int totalRead = 0, curRead;
while(totalRead < DOT_SIGNATURE.Length)
{
curRead = dotStream.Read(firstBytes, totalRead, DOT_SIGNATURE.Length - totalRead);
if(curRead == 0)
{
isDot = false;
break; // Premature end of stream;
}
totalRead += curRead;
}
if(isDot)
{
for(int i = 0; isDot && i < DOT_SIGNATURE.Length; i++)
{
// If isDot becomes false, arrays are not equal and we break out.
isDot = (firstBytes[i] == DOT_SIGNATURE[i]);
}
}
dotStream.Seek(0, SeekOrigin.Begin);
Pouvez-vous me donner la signature d'un fichier dotx? – Sauron
Étant donné que les fichiers dotx sont des fichiers zip, la signature est 50 4B 03 04 (voir http://members.tripod.com/~petlibrary/ZIP.HTM). Cependant, évidemment, tous les fichiers zip ne sont pas dotx. –
- 1. Valider un fichier modèle Word 2007
- 2. Sharepoint Listes vers le fichier Word/Excel
- 3. Convertir modèle Word à partir de MS Word 2003 à MS Word 2007
- 4. C# fichier d'impression selon PDF ou Excel ou Word ou un fichier bloc-notes Modèle
- 5. Vérifier que le fichier d'index existe
- 6. Mise à jour de modèle Word avec des signets
- 7. PHP, Smarty: Vérifier le modèle dans différents dossiers
- 8. Enregistrement d'un document OpenXML (Word) généré à partir d'un modèle
- 9. fichier batch Windows - vérifier si le fichier a été modifié
- 10. Comparaison Word By Word
- 11. vérifier fichier existe java
- 12. Déterminer que le fichier XML est FlatOPC pour Word
- 13. SketchFlow Export vers le fichier Word et l'ordre des objets
- 14. Vérifier le fichier utilisé par le code C#
- 15. Document Word avec images Taille du fichier
- 16. L'utilisation d'un document Word comme modèle pour un rapport SSRS?
- 17. Comment vérifier si un fichier existe dans un fichier makefile
- 18. Ouverture programmée d'un fichier xml dans MS Word
- 19. existe par modèle de nom de fichier
- 20. comment vérifier si un fichier existe avant de le créer
- 21. En utilisant% {REQUEST_URI} modifié dans le fichier RewriteCond existe vérifier
- 22. Vérifier le cache du navigateur pour un fichier js
- 23. Comment vérifier si le fichier existe sur FTP avant FtpWebRequest
- 24. iTextSharp word wrap
- 25. Comment maintenir la cohérence entre le modèle et le modèle de vue dans le modèle MVVM?
- 26. Comment vérifier si une variable existe dans un modèle FreeMarker?
- 27. fichier de recherche dans le répertoire en utilisant modèle complexe
- 28. Google appengine remplacement de la chaîne dans le fichier modèle
- 29. Ant: Vérifier si la classe existe dans un fichier jar
- 30. ASP.NET MVC a publié la liaison de modèle de fichier lorsque le paramètre est Modèle
Vous devez clarifier la question. Demandez-vous comment utiliser C# pour déterminer si un fichier est un modèle de mot en regardant à l'intérieur du fichier? –
Oui M. Thompson. J'en ai besoin en utilisant le codage C#. – Sauron