Salve, anticipo che la programmazione per me è agli inizi, quindi espongo un problema magari banale ma per me inspiegabile.
Ho creato una semplice SUB che richiama una funzione per tutti i file TIF contenuti in una cartella, passandole il percorso completo (es c:\test\1.tif) e solo il nome (es. 1.tif).
Ciascun TIF contiene 2 facciate
La funzione processa tutti i file e li converte in PDF con iTextSharp versione 5.3.3.0.
https://www.nuget.org/packages/iTextSharp/5.3.3

    Sub SurroundingSub3(FullName As String, Name As String)
        Dim Document As New iTextSharp.text.Document()

        Dim FirstPage As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(FullName)
        Dim MyX As Double = FirstPage.ScaledWidth / 100 * 24
        Dim MyY As Double = FirstPage.ScaledHeight / 100 * 24
        FirstPage.ScaleToFit(MyX, MyY)
        FirstPage.SetAbsolutePosition(0, 0) 
        Dim FirstPageSize As New iTextSharp.text.Rectangle(MyX, MyY) 
        Document.SetPageSize(FirstPageSize)

        Dim pdfFILE As String = Application.StartupPath & "\" & Name & ".pdf"
        Dim DocumentWriter As iTextSharp.text.pdf.PdfWriter = iTextSharp.text.pdf.PdfWriter.GetInstance(Document, New IO.FileStream(pdfFILE, IO.FileMode.Create)) 'Inizializza il PDF
        Document.Open() 

        Dim myImage As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(FullName)
        myImage.ScaleToFit(MyX, MyY)
        myImage.SetAbsolutePosition(0, 0)
        Dim PageSize As New iTextSharp.text.Rectangle(MyX, MyY) 
        Document.SetPageSize(PageSize)
        Document.Add(myImage)
        Document.NewPage()

        Document.Close()
    End Sub
Questo codice elabora 100 file di test in circa 6 secondi ma prende in considerazione solo la prima pagina del TIF.
Ho quindi preso un secondo codice dal web per far elaborare tutte le pagine ed è questo:

    Sub SurroundingSub(FullName As String, Name As String)
        Dim document As iTextSharp.text.Document = New iTextSharp.text.Document(iTextSharp.text.PageSize.A4, 0, 0, 0, 0)
        Dim writer As iTextSharp.text.pdf.PdfWriter = iTextSharp.text.pdf.PdfWriter.GetInstance(document, New System.IO.FileStream(Application.StartupPath & "\" & Name & ".pdf", System.IO.FileMode.Create))
        Dim bm As System.Drawing.Bitmap = New System.Drawing.Bitmap(FullName)
        Dim total As Integer = bm.GetFrameCount(System.Drawing.Imaging.FrameDimension.Page)
        document.Open()
        Dim cb As iTextSharp.text.pdf.PdfContentByte = writer.DirectContent

        For k As Integer = 0 To total - 1
            bm.SelectActiveFrame(System.Drawing.Imaging.FrameDimension.Page, k)
            Dim img As iTextSharp.text.Image = iTextSharp.text.Image.GetInstance(bm, ImageFormat.Tiff)
            img.SetAbsolutePosition(0, 0)
            img.ScaleAbsoluteHeight(document.PageSize.Height)
            img.ScaleAbsoluteWidth(document.PageSize.Width)
            cb.AddImage(img)
            document.NewPage()
        Next
        document.Close()
    End Sub
Questo converte i 100 file di prima, mettendo tutte e due le pagine nel PDF, in circa 80 secondi.
È normale tanta differenza? Cioè, io mi sarei aspettato il doppio del tempo, magari qualcosa in più, ma non oltre 13 volte tanto...
Vorrei capire se sono io che sbaglio qualcosa oppure è normale...
Ovviamente le due pagine di ciascum TIF sono praticamente identiche, se serve le condivido.

Grazie a chi dedicherà tempo a rispondermi