Differenze tra le versioni di "Estrarre i dati audio da un file PDF"
Da Gambas-it.org - Wikipedia.
(Una versione intermedia di uno stesso utente non è mostrata) | |||
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") | ||
mp3 = InStr(s, "ID3", n) | mp3 = InStr(s, "ID3", n) | ||
− | If InStr(s, "\xFF\xFB\ | + | 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" | id = "mp3" | ||
i = mp3 | i = mp3 |
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