Estrarre i dati audio da un file PDF
Da Gambas-it.org - Wikipedia.
Versione del 19 gen 2024 alle 13:04 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 mp3 == 0 Then If InStr(s, "\xFF\xFB\x92") > 0 Then mp3 = InStr(s, "\xFF\xFB\x92") If InStr(s, "\xFF\xFB\x93") > 0 Then mp3 = InStr(s, "\xFF\xFB\x93") Else 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 ' 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