コード例 #1
0
        private static IEnumerable <PdfError> GetErrors(PdfValidator validator)
        {
            var error = validator.GetFirstError();

            if (error == null)
            {
                yield break;
            }

            while (error != null)
            {
                yield return(error);

                error = validator.GetNextError();
            }
        }
コード例 #2
0
        public static IValidator CreateValidator(ValidationRequest request)
        {
            IValidator validator;

            switch (Path.GetExtension(request.FileName).ToLower())
            {
            case ".zip":
                validator = new ZipValidator(request);
                break;

            case ".pdf":
                validator = new PdfValidator(request);
                break;

            case ".xml":
                validator = new XmlValidator(request);
                break;

            case ".doc":
            case ".docx":
                validator = new WordValidator(request);
                break;

            case ".json":
                validator = new JsonValidator(request);
                break;

            case ".txt":
                validator = new TextValidator(request);
                break;

            case ".csv":
                validator = new CsvValidator(request);
                break;

            case ".html":
            case ".htm":
                validator = new HtmlValidator(request);
                break;

            default:
                validator = new UnknownValidator(request);
                break;
            }

            return(validator);
        }
コード例 #3
0
        public static void ValidatePdf(string file, OutputFormat outputFormat)
        {
            var compliance = DetermineCompliance(outputFormat);

            var key = ParameterHelper.GetPassword("pdfa_validator_key");

            PdfValidator.SetLicenseKey(key);

            using (PdfValidator validator = new PdfValidator())
            {
                validator.Open(file, "", compliance);
                validator.Validate();
                var errors        = GetErrors(validator);
                var errorMessages = errors.Select(e => $"{e.ErrorCode}: {e.Message}").ToList();

                Assert.IsFalse(errorMessages.Any(), "The PDF/A file could not be validated! Following errors were found: \r\n" + string.Join("\r\n", errorMessages));
            }
        }