Differenze tra le versioni di "Estrarre i dati audio da un file PDF"
Da Gambas-it.org - Wikipedia.
Riga 7: | Riga 7: | ||
Dim mp3, ogg, wav, n, i As Integer | Dim mp3, ogg, wav, n, i As Integer | ||
− | s = File.Load("<FONT Color= | + | s = File.Load("<FONT Color=darkgreen>''/percorso/del/file.pdf''</font>") |
n = InStr(s, "EmbeddedFile") | n = InStr(s, "EmbeddedFile") |
Versione attuale delle 14:04, 19 gen 2024
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