Differenze tra le versioni di "Estrarre i dati video da un file PDF"

Da Gambas-it.org - Wikipedia.
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
 
Se un file PDF possiede dati video, questi possono essere raccolti per creare un file video indipendente.
 
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:
+
Mostriamo un possibile codice, con il quale potranno essere raccolti i dati video, presenti nel file PDF, di formato ASF, AVI, MOV e MP4:
 
  Public Sub Main()
 
  Public Sub Main()
 
   
 
   
Riga 7: Riga 7:
 
   Dim asf, avi, mov, mp4, n, i As Integer
 
   Dim asf, avi, mov, mp4, n, i As Integer
 
    
 
    
   s = File.Load("<FONT Color=gray>''/percorso/del/file.pdf''</font>")
+
   s = File.Load("<FONT Color=darkgreen>''/percorso/del/file.pdf''</font>")
 
    
 
    
 
   n = InStr(s, "EmbeddedFile")
 
   n = InStr(s, "EmbeddedFile")

Versione attuale delle 15:49, 20 gen 2024

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 ASF, AVI, MOV e MP4:

Public Sub Main()

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

 avi = InStr(s, "AVI LIST", n)
 If avi > 0 Then
   i = avi - 8
   id = "avi"
 Endif

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

 asf = InStr(s, "0&\xB2u\x8Ef\xCF\x11", n)
 If asf > 0 Then 
   i = asf
   id = "asf"
 Endif

' 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