public override FileFormat Match(FileFormatScanJob job)
        {
            if (!ValidateStartBytes(job))
            {
                return(null);
            }

            var contentTypes = OOXmlUtils.GetContentTypesFromZip(job);

            if (string.IsNullOrWhiteSpace(contentTypes))
            {
                return(null);
            }

            if (contentTypes.IndexOf("application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", StringComparison.Ordinal) == -1 &&
                contentTypes.IndexOf("application/vnd.ms-excel.template.macroEnabled.main+xml", StringComparison.Ordinal) == -1)
            {
                return(null);
            }

            var macros      = (contentTypes.IndexOf("application/vnd.ms-excel.template.macroEnabled.main+xml", StringComparison.Ordinal) > -1);
            var fingerprint = new ExcelWorkbookTemplateFormat(macros);

            return(fingerprint);
        }
Esempio n. 2
0
        public override FileFormat Match(FileFormatScanJob job)
        {
            if (!ValidateStartBytes(job))
            {
                return(null);
            }

            var contentTypes = OOXmlUtils.GetContentTypesFromZip(job);

            if (string.IsNullOrWhiteSpace(contentTypes))
            {
                return(null);
            }

            if (contentTypes.IndexOf("application/vnd.ms-visio.template.main+xml", StringComparison.Ordinal) == -1 &&
                contentTypes.IndexOf("application/vnd.ms-visio.template.macroEnabled.main+xml", StringComparison.Ordinal) == -1)
            {
                return(null);
            }

            var macros      = (contentTypes.IndexOf("application/vnd.ms-visio.template.macroEnabled.main+xml", StringComparison.Ordinal) > -1);
            var fingerprint = new VisioDrawingTemplateFormat(macros);

            return(fingerprint);
        }
        public override FileFormat Match(FileFormatScanJob job)
        {
            if (!ValidateStartBytes(job))
            {
                return(null);
            }

            var contentTypes = OOXmlUtils.GetContentTypesFromZip(job);

            if (string.IsNullOrWhiteSpace(contentTypes))
            {
                return(null);
            }

            if (contentTypes.IndexOf("application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", StringComparison.Ordinal) == -1 &&
                contentTypes.IndexOf("application/vnd.ms-powerpoint.slideshow.macroEnabled.main+xml", StringComparison.Ordinal) == -1)
            {
                return(null);
            }

            var macros      = (contentTypes.IndexOf("application/vnd.ms-powerpoint.slideshow.macroEnabled.main+xml", StringComparison.Ordinal) > -1);
            var fingerprint = new PowerPointSlideshowFormat(macros);

            return(fingerprint);
        }
        public override FileFormat Match(FileFormatScanJob job)
        {
            if (!ValidateStartBytes(job))
            {
                return(null);
            }

            var contentTypes = OOXmlUtils.GetContentTypesFromZip(job);

            if (string.IsNullOrWhiteSpace(contentTypes))
            {
                return(null);
            }

            if (contentTypes.IndexOf("application/vnd.ms-excel.sheet.binary.macroEnabled.main", StringComparison.Ordinal) == -1)
            {
                return(null);
            }

            var fingerprint = new ExcelBinaryWorkbookFormat();

            return(fingerprint);
        }