Estrarre i dati audio da un file PDF
Da Gambas-it.org - Wikipedia.
Versione del 27 set 2023 alle 11:59 di Vuott (Discussione | contributi)
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, "WAVEfmt ", n) If InStr(s, "WAVEfmt ", n) * InStr(s, "RIFF", wav - 8) > 0 Then id = "wav" i = wav - 8 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