> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/xamarin/pdf-a/validate.md).

# Validate PDF/A documents in Xamarin

Validate all versions of PDF/A in Xamarin. All you need is full API enabled in WebViewer to validare pdf/a in Xamarin.

Validate a PDF/A document for compliance and check its conformance level. Supports all PDF/A versions and conformance levels: PDF/A-1A, PDF/A-1B, PDF/A-2A, PDF/A-2B, PDF/A-2U, PDF/A-3A, PDF/A-3B, PDF/A-3U, PDF/A-4, PDF/A-4E, PDF/A-4F.

{% tabs %}
{% tab title="C#" %}
{% code lineNumbers="true" %}

```csharp
PDFACompliance pdf_a = new PDFACompliance(false, filename, null, PDFACompliance.Conformance.e_Level2B, null, 10, false);
int err_cnt = pdf_a.GetErrorCount();
if (err_cnt == 0)
{
	Console.WriteLine("{0}: OK.", filename);
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

[Convert PDF to PDF/A](/xamarin/get-started/samples.md#pdfa) Full sample code which illustrates how to validate existing PDF documents for PDF/A compliance as well as to convert generic PDF documents to PDF/A format.

## About PDF/A

PDFACompliance class is used to validate PDF documents for PDF/A (ISO 19005:1/2/3/4) compliance or to convert existing PDF files to PDF/A compliant documents.

The conversion option analyzes the content of existing PDF files and performs a sequence of modifications in order to produce a PDF/A compliant document. Features that are not suitable for long-term archiving (such as encryption, obsolete compression schemes, missing fonts, or device-dependent color) are replaced with their PDF/A compliant equivalents. Because the conversion process applies only necessary changes to the source file, the information loss is minimal. Also, because the converter provides a detailed report for each change, it is simple to inspect changes and to determine whether the conversion loss is acceptable.

The validation option can be used to quickly determine whether a PDF file fully complies with the PDF/A specification according to the international standard ISO 19005:1/2/3/4. For files that are not compliant, the validation option can be used to produce a detailed report of compliance violations as well as a list of relevant error objects.

Key Functions:

* Checks if a PDF file is compliant with any PDF/A specifications (ISO 19005-1, 19005-2, 19005-3, 19005-4).
* Converts any PDF to a PDF/A compliant document.
* Supports all PDFA versions and conformance levels: PDF/A-1A, PDF/A-1B, PDF/A-2A, PDF/A-2B, PDF/A-2U, PDF/A-3A, PDF/A-3B, PDF/A-3U, PDF/A-4, PDF/A-4E, PDFA-4F.
* Produces a detailed report of compliance violations and associated PDF objects.
* Keeps the required changes to a minimum, preserving the consistency of the original.
* Tracks all changes to allow for automatic assessment of data loss.
* Allows user to customize compliance checks or omit specific changes during the conversion process.
* Preserves tags, logical structure, and color information in existing PDF documents.
* Supports user-defined color profiles.
* Offers automatic font substitution, embedding, and subsetting options.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apryse.com/xamarin/pdf-a/validate.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
