Hola a todos.
Debido a la lentitud que la extracción de imágenes de un pdf confería a
Control-Book decidí investigar el tema de las tareas en segundo plano que, como saben, están disponibles desde la versión 3.3. El resultado promete y hace mas "pro" la app.
Para usarla hay que crear una clase y luego instanciarla. Dentro de la clase tiene que haber un método Main sin parámetros. para enviarle parámetros a la clase se ponen variables globales públicas.
Ejemplo de lo que hay dentro de la clase:
Código:
Inherits Task
Public filePDF As String
Public dirOutput As String
Public Sub Main()
Dim documentPDF As PdfDocument
Dim page As Integer
Dim fileImage As String
Dim imageRam As Image
If Exist(filePDF) Then
documentPDF = New PdfDocument(filePDF)
If Exist(dirOutput) Then
For page = 0 To documentPDF.Max
fileImage = dirOutput &/ Format(page, "0000") & ".png"
If Exist(fileImage) = False Then
imageRam = documentPDF[page].Render(, 150)
imageRam.Save(fileImage, 80)
Endif
Next
Endif
Endif
End
Ejemplo de como "llamar" la clase desde el programa principal
Código:
Public Sub Form_Open()
Dim back As Extract
back = New Extract ' Creacion de una nueva instancia de la clase en segundo plano
back.filePDF = User.Home &/ "tmp.pdf" 'Asignación del primer parámetro
back.dirOutput = "/tmp" 'Asignación del segundo parámetro
End
Espero que les resulte de utilidad.
Saludos.