Estrarre i dati audio da un file PDF

Da Gambas-it.org - Wikipedia.
Versione del 27 set 2023 alle 09:22 di Vuott (Discussione | contributi) (Creata pagina con "Se un file PDF possiede dati audio, questi possono essere raccolti per creare un file audio indipendente. Mostriamo un possibile codice, con il quale potranno essere raccolti...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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

Mostriamo un possibile codice, con il quale potranno essere raccolti i dati audio, presenti nel file PDF, di formato MP3, OGG e WAV:

Public Sub Main()

 Dim s, id As String
 Dim mp3, ogg, wav, n, i As Integer

 s = File.Load("/percorso/del/file.pdf")

 n = InStr(s, "EmbeddedFile")

 mp3 = InStr(s, "ID3", n)
 If InStr(s, "\xFF\xFB\x93") > 0 Then mp3 = InStr(s, "\xFF\xFB\x93")
 If mp3 > 0 Then 
   id = "mp3"
   i = mp3
 Endif

 ogg = InStr(s, "Ogg", n)
 If ogg > 0 Then 
   id = "ogg"
   i = ogg
 Endif 

 wav = InStr(s, "RIFF", n)
 If wav > 0 Then 
   id = "wav"
   i = wav
 Endif

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

' Con i byte-dati estratti crea un file audio indipendente:
 File.Save("/tmp/audio." & id, Mid(s, i, n))
 
End