Convert PDF to PDF/A
The code below shows you how to convert a PDF file to a PDF/A file.
This sample requires a Professional license.
C#
    
using System;
using System.IO;
using SolidFramework.Converters.Plumbing;
using SolidFramework.Plumbing;
using SolidFramework.Imaging.Plumbing;
using SolidFramework.Converters;
namespace PDFtoPDFA
{
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            // Call your Solid Documents License
            SolidFramework.License.Import(@"C:\MyFolder\license.xml");
            // Set the location of your the file you want to convert
            string pdfPath = @"C:\YourFolder\yourpdf.pdf";
            // Set the file extension you are creating
            String PDFAPath = Path.ChangeExtension(pdfPath, "pdfa.pdf");
            //*PDF to PDFA*//           
            using (PdfToPdfAConverter converter = new PdfToPdfAConverter())
            {
                // Add files to convert. 
                converter.AddSourceFile(pdfPath);
                //Set the preferred conversion properties 
                // Select a PDF/A Validation mode
                converter.ValidationMode = ValidationMode.PdfA2B;  // All PDF/A options are supported
                // Set to validate only to false 
                converter.ValidateOnly = false;
                // Select the type of Image Compression
                converter.OcrImageCompression = ImageCompression.PreserveOriginal;
                // Apply Solid Documents Optical Character Recognition (OCR) for scanned files
                converter.OcrEngine = TextRecoveryEngine.SolidOCR;
                // Select the OCR language for the file
                converter.OcrLanguage = "de"; //Many languages are supported
                // Create a searchable Text Layer
                converter.OcrType = OcrType.CreateSearchableTextLayer;
                // Set the Directory you wan the file to be saved to
                converter.OutputDirectory = @"C:\MyFolder\";
                // Convert the file.
                converter.ConvertTo(PDFAPath, true);
                // Show the status of the PDF file in the Console Window
                SolidFramework.Converters.Plumbing.ConversionStatus status = converter.ConvertTo(PDFAPath, true);
                if (status != ConversionStatus.Success)
                {
                    Console.WriteLine(status);
                    Console.ReadKey();
                }
            }
        }
    }
}
        C++
    
#include "stdafx.h"
#include "SolidFramework.h"
#include <iostream>
using  namespace std;
void DoProgress(SolidFramework::ProgressEventArgsPtr args)
{
    // Not implemented
}
void DoWarning(SolidFramework::WarningEventArgsPtr args)
{
    // Not implemented
}
class PdfToPdfAConverter : public SolidFramework::Converters::PdfToPdfAConverterBase
{
public:
    void FireProgress(SolidFramework::ProgressEventArgsPtr args) override { DoProgress(args); };
    void FireWarning(SolidFramework::WarningEventArgsPtr args) override { DoWarning(args); };
};
int _tmain(int argc, _TCHAR* argv[])
{
    // Enter your License code goes here
    SolidFramework::License::Import(L"C:\\MyFolder\\license.xml");
    // Create a PDF to Word Converter called converter
    PdfToPdfAConverter *converter = new PdfToPdfAConverter();
    SolidFramework::Converters::CustomData *pData = NULL;
    pData = new SolidFramework::Converters::CustomData();
    pData->Converter = converter;
    pData->Data = nullptr;
    converter->setCustomData(pData);
    // Add the PDF file to convert.
    converter->AddSourceFile(L"C:\\YourFolder\\yourpdf.pdf");
    converter->setOutputDirectory(L"C:\\MyFolder\\");
    // Select a PDF/A Validation mode
    converter->setValidationMode(SolidFramework::Plumbing::ValidationMode::PdfA2B); // All PDF/A options are supported
    // Set to validate only to false 
    converter->setValidateOnly(false);
    // Select the type of Image Compression
    converter->setOcrImageCompression(SolidFramework::Imaging::Plumbing::ImageCompression::PreserveOriginal);
    // Apply Solid Documents Optical Character Recognition (OCR) for scanned files
    converter->setOcrEngine(SolidFramework::Converters::Plumbing::TextRecoveryEngine::SolidOCR);
    // Select the OCR language for the file
    converter->setOcrLanguage( L"de"); //Many languages are supported
    // Create a searchable Text Layer
    converter->setOcrType(SolidFramework::Converters::Plumbing::OcrType::CreateSearchableTextLayer);   
    //Start the Conversion
    cout << "Starting conversion." << endl; converter->Convert();
    SolidFramework::Converters::Plumbing::ConversionStatus status = converter->getResults()->getItem(0)->getStatus();
    if (status != SolidFramework::Converters::Plumbing::ConversionStatus::Success)
    {
        cout << "Conversion failed." << endl;
    }
    else
    {
        cout << "Conversion succeeded." << endl; } converter->Dispose();
    cout << "Press <Enter> to exit." << endl;
    cin.get();
    return 0;
}
        VB.Net
    
Imports System.IO
Imports SolidFramework.Converters.Plumbing
Imports SolidFramework.Plumbing
Imports SolidFramework
Module PDFtoPDFA
    Sub Main()
        ' Call your Solid Documents License
        SolidFramework.License.Import("C:\MyFolder\license.xml")
        'Define a variable for your source file
        Dim sPdfPath As String
        ' Define a String for the output file
        Dim pdfaPath As String
        ' Define your Solid Framework Converter
        Dim myConverter As SolidFramework.Converters.PdfToPdfAConverter
        ' Set your file path 
        sPdfPath = "C:\YourFolder\filepdf.pdf"
        ' Set your output file and location
        pdfaPath = Path.ChangeExtension(sPdfPath, ".pdfa.pdf")
        ' Set the converter
        myConverter = New SolidFramework.Converters.PdfToPdfAConverter
        'Set the preferred conversion properties 
        ' Add files to convert. 
        myConverter.AddSourceFile(sPdfPath)
        ' Make the Converted File Searchable
        myConverter.ValidationMode = ValidationMode.PdfA2B ' All other PDFA options are available
        ' Set to validate only to false 
        myConverter.ValidateOnly = False
        ' Select the type of Image Compression
        myConverter.OcrImageCompression = Imaging.Plumbing.ImageCompression.PreserveOriginal
        ' Apply Solid Documents Optical Character Recognition (OCR) for scanned files
        myConverter.OcrEngine = TextRecoveryEngine.SolidOCR
        ' Select the OCR language for the File
        myConverter.OcrLanguage = "de"
        ' Create a searchable Text Layer
        myConverter.OcrType = OcrType.CreateSearchableTextLayer
        ' Convert the File.
        myConverter.ConvertTo(pdfaPath, True)
        ' Clean up
        myConverter.Dispose()
    End Sub
End Module
        