In This Topic
            
            
            
            		The SDK allows to verify that PDF document conforms the following PDF specifications:
		
			- PDF/A-1a (ISO 19005-1)
 
			- PDF/A-1b (ISO 19005-1)
 
			- PDF/A-2a (ISO 19005-2)
 
			- PDF/A-2b (ISO 19005-2)
 
			- PDF/A-2u (ISO 19005-2)
 
			- PDF/A-3a (ISO 19005-3)
 
			- PDF/A-3b (ISO 19005-3)
 
			- PDF/A-3u (ISO 19005-3)
 
			- PDF/A-4 (ISO 19005-4)
 
			- PDF/A-4e (ISO 19005-4)
 
			- PDF/A-4f (ISO 19005-4)
 
		
		
		Here is C#/VB.NET code that demonstrates how to verify a PDF document to conformance with PDF/A-1b specification:
		
		
    
	
	    
	    
/// <summary>
/// Verifies a PDF document to conformance with PDF/A-1b specification.
/// </summary>
/// <param name="pdfFilename">The filename of PDF document.</param>
public static void VerifyDocumentToPdfA1b(string pdfFilename)
{
    Vintasoft.Imaging.Pdf.Processing.PdfA.PdfA1bVerifier verifier = 
        new Vintasoft.Imaging.Pdf.Processing.PdfA.PdfA1bVerifier();
    System.Console.WriteLine("Verification...");
    if (verifier.Verify(pdfFilename))
        System.Console.WriteLine("Document conforms to PDF/A-1b.");
    else
        System.Console.WriteLine("Document does not conform to PDF/A-1b.");
}
	     
	 
 
    
	
	    
	    
''' <summary>
''' Verifies a PDF document to conformance with PDF/A-1b specification.
''' </summary>
''' <param name="pdfFilename">The filename of PDF document.</param>
Public Shared Sub VerifyDocumentToPdfA1b(pdfFilename As String)
    Dim verifier As New Vintasoft.Imaging.Pdf.Processing.PdfA.PdfA1bVerifier()
    System.Console.WriteLine("Verification...")
    If verifier.Verify(pdfFilename) Then
        System.Console.WriteLine("Document conforms to PDF/A-1b.")
    Else
        System.Console.WriteLine("Document does not conform to PDF/A-1b.")
    End If
End Sub
	     
	 
 
		
		
		
		Here is C#/VB.NET code that demonstrates how to verify a PDF document to conformance with PDF/A-1b specification and show the detailed result of verification:
		
		
    
	
	    
	    
/// <summary>
/// Verifies a PDF document to conformance with PDF/A-1b specification and
/// shows the detailed result of verification.
/// </summary>
/// <param name="pdfFilename">The filename of PDF document.</param>
public static void VerifyDocumentToPdfA1bDetailed(string pdfFilename)
{
    Vintasoft.Imaging.Pdf.Processing.PdfA.PdfA1bVerifier verifier = 
        new Vintasoft.Imaging.Pdf.Processing.PdfA.PdfA1bVerifier();
    using (Vintasoft.Imaging.Processing.ProcessingState processingState = 
        new Vintasoft.Imaging.Processing.ProcessingState())
    {
        // subscribe to the events for monitoring the progress and activated important triggers
        processingState.Progress += 
            new System.EventHandler<Vintasoft.Imaging.ProgressEventArgs>(
                verifyProcessingState_Progress);
        processingState.TriggerActivated += 
            new System.EventHandler<Vintasoft.Imaging.Processing.TriggerActivatedEventArgs>(
                verifyProcessingState_TriggerActivated);
        // clear the count of important trigger activations
        _verifyActivatedTriggerCount = 0;
        // execute the verification
        Vintasoft.Imaging.Processing.VerificationProfileResult result =
            verifier.Verify(pdfFilename, processingState);
        // output the verification result
        System.Console.WriteLine("finished.");
        if (result.IsPassed)
        {
            System.Console.WriteLine("Document conforms to PDF/A-1b.");
        }
        else
        {
            System.Console.WriteLine("Document does not conform to PDF/A-1b:");
            // for each activated trigger
            foreach (Vintasoft.Imaging.Processing.IProcessingCommandInfo 
                command in result.ActivatedTriggers.Keys)
            {
                // output information about activated trigger
                System.Console.WriteLine(string.Format("  {0} ({1} matches)",
                    command,
                    result.ActivatedTriggers[command].Count));
            }
        }
    }
}
/// <summary>
/// The count of trigger activations.
/// </summary>
static int _verifyActivatedTriggerCount;
/// <summary>
/// Handles the TriggerActivated event of the ProcessingState.
/// </summary>
static void verifyProcessingState_TriggerActivated(
    object sender,
    Vintasoft.Imaging.Processing.TriggerActivatedEventArgs e)
{
    if (e.ActivationResult.Severity == Vintasoft.Imaging.Processing.TriggerSeverity.Important)
        _verifyActivatedTriggerCount++;
}
/// <summary>
/// Handles the Progress event of the ProcessingState.
/// </summary>
static void verifyProcessingState_Progress(object sender, Vintasoft.Imaging.ProgressEventArgs e)
{
    System.Console.CursorLeft = 0;
    if (_verifyActivatedTriggerCount > 0)
        System.Console.Write(string.Format("Verification {0}%: {1} errors...", e.Progress, _verifyActivatedTriggerCount));
    else
        System.Console.Write(string.Format("Verification {0}%...", e.Progress));
}
	     
	 
 
    
	
	    
	    
''' <summary>
''' Verifies a PDF document to conformance with PDF/A-1b specification and
''' shows the detailed result of verification.
''' </summary>
''' <param name="pdfFilename">The filename of PDF document.</param>
Public Shared Sub VerifyDocumentToPdfA1bDetailed(pdfFilename As String)
    Dim verifier As New Vintasoft.Imaging.Pdf.Processing.PdfA.PdfA1bVerifier()
    Using processingState As New Vintasoft.Imaging.Processing.ProcessingState()
        ' subscribe to the events for monitoring the progress and activated important triggers
        AddHandler processingState.Progress, New System.EventHandler(Of Vintasoft.Imaging.ProgressEventArgs)(AddressOf verifyProcessingState_Progress)
        AddHandler processingState.TriggerActivated, New System.EventHandler(Of Vintasoft.Imaging.Processing.TriggerActivatedEventArgs)(AddressOf verifyProcessingState_TriggerActivated)
        ' clear the count of important trigger activations
        _verifyActivatedTriggerCount = 0
        ' execute the verification
        Dim result As Vintasoft.Imaging.Processing.VerificationProfileResult = verifier.Verify(pdfFilename, processingState)
        ' output the verification result
        System.Console.WriteLine("finished.")
        If result.IsPassed Then
            System.Console.WriteLine("Document conforms to PDF/A-1b.")
        Else
            System.Console.WriteLine("Document does not conform to PDF/A-1b:")
            ' for each activated trigger
            For Each command As Vintasoft.Imaging.Processing.IProcessingCommandInfo In result.ActivatedTriggers.Keys
                ' output information about activated trigger
                System.Console.WriteLine(String.Format("  {0} ({1} matches)", command, result.ActivatedTriggers(command).Count))
            Next
        End If
    End Using
End Sub
''' <summary>
''' The count of trigger activations.
''' </summary>
Shared _verifyActivatedTriggerCount As Integer
''' <summary>
''' Handles the TriggerActivated event of the ProcessingState.
''' </summary>
Private Shared Sub verifyProcessingState_TriggerActivated(sender As Object, e As Vintasoft.Imaging.Processing.TriggerActivatedEventArgs)
    If e.ActivationResult.Severity = Vintasoft.Imaging.Processing.TriggerSeverity.Important Then
        _verifyActivatedTriggerCount += 1
    End If
End Sub
''' <summary>
''' Handles the Progress event of the ProcessingState.
''' </summary>
Private Shared Sub verifyProcessingState_Progress(sender As Object, e As Vintasoft.Imaging.ProgressEventArgs)
    System.Console.CursorLeft = 0
    If _verifyActivatedTriggerCount > 0 Then
        System.Console.Write(String.Format("Verification {0}%: {1} errors...", e.Progress, _verifyActivatedTriggerCount))
    Else
        System.Console.Write(String.Format("Verification {0}%...", e.Progress))
    End If
End Sub