Estrarre i dati video da un file PDF

Da Gambas-it.org - Wikipedia.

Se un file PDF possiede dati video, questi possono essere raccolti per creare un file video indipendente.

Mostriamo un possibile codice, con il quale potranno essere raccolti i dati video, presenti nel file PDF, di formato AVI e MP4:

Public Sub Main()

 Dim s, id As String
 Dim n, i As Integer
 
 s = File.Load("/percorso/del/file.pdf")
 
 n = InStr(s, "EmbeddedFile")
 
 i = InStr(s, "ftypisom", n)
 If InStr(s, "mp4", i) > 0 Then 
   i = i - 4
   id = "mp4"
 Endif
 
 i = InStr(s, "AVI", n)
 If InStr(s, "AVI", n) * InStr(s, "AVI", --8) > 0 Then
   i = i - 8
   id = "avi"
 Endif

 i = InStr(s, "ftypqt", n)
 If i > 0 Then 
   i = i - 4
   id = "mov"
 Endif

 n = RInStr(s, "Length", i)
' Ottiene il valore della quantità dei dati video dichiarato nel file PDF:
 n = Val(Scan(Mid(s, n, i - n), "*Length * *")[1])

' Crea il file video:
 File.Save("/tmp/video." & id, Mid(s, i, n))

End