29 lines
618 B
C++
29 lines
618 B
C++
#pragma once
|
|
|
|
#include "pdfengine/pdf_document.hpp"
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
namespace pdfengine::document {
|
|
|
|
struct ValidationIssue {
|
|
enum class Severity { Warning, Error };
|
|
Severity severity = Severity::Warning;
|
|
std::string message;
|
|
};
|
|
|
|
struct ValidationResult {
|
|
bool isValid = true;
|
|
std::vector<ValidationIssue> issues;
|
|
};
|
|
|
|
class DocumentValidator {
|
|
public:
|
|
DocumentValidator() = default;
|
|
|
|
// Checks PageModel geometry, non-negative bounds, non-empty words, unicode mappings
|
|
ValidationResult validate(const PageModel& model) const;
|
|
};
|
|
|
|
} // namespace pdfengine::document
|