The SDK allows to verify that PDF document conforms the following PDF specifications:
' The project, which uses this code, must have references to the following assemblies: ' - Vintasoft.Imaging ' - Vintasoft.Imaging.Pdf ''' <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
// The project, which uses this code, must have references to the following assemblies: // - Vintasoft.Imaging // - Vintasoft.Imaging.Pdf /// <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."); }
' The project, which uses this code, must have references to the following assemblies: ' - Vintasoft.Imaging ' - Vintasoft.Imaging.Pdf ''' <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
// The project, which uses this code, must have references to the following assemblies: // - Vintasoft.Imaging // - Vintasoft.Imaging.Pdf /// <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)); }