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(); } }
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); }
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)); } }