VintaSoft Imaging .NET SDK 14.0: 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: .NET9; .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5

    See Also