VintaSoft Imaging .NET SDK 15.1: Documentation for .NET developer
Vintasoft.Imaging.Pdf.Processing Namespace / PdfDocumentConverter Class / Convert Methods / Convert(String,String,ProcessingState) Method
Syntax Example Requirements SeeAlso
In This Topic
Convert(String,String,ProcessingState) Method (PdfDocumentConverter)
In This Topic
Converts the specified PDF document.
Syntax

Parameters

inFilename
The input filename of PDF document.
outFilename
The output filename of PDF document.
processingState
The processing state.

Return Value

Result of conversion process.
Example

Here is an example that shows how to convert a PDF document to conformance with PDF/A-1b specification and show the detailed result of conversion:


''' <summary>
''' Converts a PDF document to conformance with PDF/A-1b specification and
''' shows the detailed result of conversion.
''' </summary>
''' <param name="pdfFilename">The filename of source PDF document.</param>
''' <param name="outputPdfFilename">The filename of output PDF document.</param>
Public Shared Sub ConvertDocumentToPdfA1bDetalied(pdfFilename As String, outputPdfFilename As String)
    ' determine that file must converted to the PDF/A-1b and saved back to the source file
    Dim sameFile As Boolean = pdfFilename.ToUpperInvariant() = outputPdfFilename.ToUpperInvariant()

    ' create the PDF/A-1b converter
    Dim converter As New Vintasoft.Imaging.Pdf.Processing.PdfA.PdfA1bConverter()
    converter.LzwFixupCompression = Vintasoft.Imaging.Pdf.PdfCompression.Zip
    ' converter.OutputIntentDestIccProfile = ...

    Using processingState As New Vintasoft.Imaging.Processing.ProcessingState()
        ' subscribe to the events for monitoring the progress
        AddHandler processingState.Progress, New System.EventHandler(Of Vintasoft.Imaging.ProgressEventArgs)(AddressOf convertProcessingState_Progress)

        ' execute the conversion
        Dim result As Vintasoft.Imaging.Processing.ConversionProfileResult = converter.Convert(pdfFilename, outputPdfFilename, processingState)
        System.Console.WriteLine("finished.")

        ' if PDF document is converted successfully
        If result.IsSuccessful Then
            System.Console.WriteLine("Document converted to PDF/A-1b.")
        Else
            ' if PDF document is NOT converted
            If Not sameFile Then
                System.IO.File.Delete(outputPdfFilename)
            End If

            System.Console.WriteLine("Cannot convert document to PDF/A-1b, unsolved problems:")
            ' 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>
''' Handles the Progress event of the ProcessingState.
''' </summary>
Private Shared Sub convertProcessingState_Progress(sender As Object, e As Vintasoft.Imaging.ProgressEventArgs)
    System.Console.CursorLeft = 0
    System.Console.Write(String.Format("Conversion {0}%...", e.Progress))
End Sub


/// <summary>
/// Converts a PDF document to conformance with PDF/A-1b specification and
/// shows the detailed result of conversion.
/// </summary>
/// <param name="pdfFilename">The filename of source PDF document.</param>
/// <param name="outputPdfFilename">The filename of output PDF document.</param>
public static void ConvertDocumentToPdfA1bDetalied(
    string pdfFilename,
    string outputPdfFilename)
{
    // determine that file must converted to the PDF/A-1b and saved back to the source file
    bool sameFile = pdfFilename.ToUpperInvariant() == outputPdfFilename.ToUpperInvariant();

    // create the PDF/A-1b converter
    Vintasoft.Imaging.Pdf.Processing.PdfA.PdfA1bConverter converter = 
        new Vintasoft.Imaging.Pdf.Processing.PdfA.PdfA1bConverter();
    converter.LzwFixupCompression = Vintasoft.Imaging.Pdf.PdfCompression.Zip;
    // converter.OutputIntentDestIccProfile = ...

    using (Vintasoft.Imaging.Processing.ProcessingState processingState = 
        new Vintasoft.Imaging.Processing.ProcessingState())
    {
        // subscribe to the events for monitoring the progress
        processingState.Progress += new System.EventHandler<Vintasoft.Imaging.ProgressEventArgs>(
            convertProcessingState_Progress);

        // execute the conversion
        Vintasoft.Imaging.Processing.ConversionProfileResult result = 
            converter.Convert(pdfFilename, outputPdfFilename, processingState);
        System.Console.WriteLine("finished.");

        // if PDF document is converted successfully
        if (result.IsSuccessful)
        {
            System.Console.WriteLine("Document converted to PDF/A-1b.");
        }
        // if PDF document is NOT converted
        else
        {
            if (!sameFile)
                System.IO.File.Delete(outputPdfFilename);

            System.Console.WriteLine("Cannot convert document to PDF/A-1b, unsolved problems:");
            // 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>
/// Handles the Progress event of the ProcessingState.
/// </summary>
static void convertProcessingState_Progress(object sender, Vintasoft.Imaging.ProgressEventArgs e)
{
    System.Console.CursorLeft = 0;
    System.Console.Write(string.Format("Conversion {0}%...", e.Progress));
}

Requirements

Target Platforms: .NET 10; .NET 9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

See Also