AbrirPDF:
Sub AbrirPDF(diretorioDoArquivo As String, nomeDoArquivo As String)
Try
#If B4A
' Plataforma: Android
Dim provider As FileProvider
provider.Initialize
' Copia o arquivo para o diretório compartilhado
Wait For (File.CopyAsync(diretorioDoArquivo, nomeDoArquivo, provider.SharedFolder, nomeDoArquivo)) Complete (Success As Boolean)
Log("Android - Cópia do arquivo realizada com sucesso: " & Success)
If Success = False Then
Log("Android - Erro: falha ao copiar o arquivo para o diretório compartilhado.")
Return
End If
' Configura a Intent para abrir o PDF
Dim docIntent As Intent
docIntent.Initialize(docIntent.ACTION_VIEW, "")
provider.SetFileUriAsIntentData(docIntent, nomeDoArquivo)
docIntent.SetType("application/pdf")
docIntent.Flags = Bit.Or(1, 2) ' FLAG_GRANT_READ_URI_PERMISSION
StartActivity(docIntent)
#Else If B4I
' Plataforma: iOS
' Verifica se o arquivo existe
If File.Exists(diretorioDoArquivo, nomeDoArquivo) = False Then
Log("iOS - Erro: arquivo PDF não encontrado em " & diretorioDoArquivo & "/" & nomeDoArquivo)
Return
End If
' Inicializa o DocumentInteraction para abrir o PDF
Dim docInteraction As DocumentInteraction
docInteraction.Initialize("docInteraction", diretorioDoArquivo, nomeDoArquivo)
docInteraction.OpenFile(B4XPages.GetNativeParent(Me).RootPanel)
Log("iOS - PDF aberto com sucesso.")
#Else If B4J
' Plataforma: Desktop
' Verifica se o arquivo existe
If File.Exists(diretorioDoArquivo, nomeDoArquivo) = False Then
Log("B4J - Erro: arquivo PDF não encontrado em " & diretorioDoArquivo & "/" & nomeDoArquivo)
Return
End If
' Abre o PDF usando o JFX
Private fx As JFX
fx.ShowExternalDocument(File.GetUri(diretorioDoArquivo, nomeDoArquivo))
Log("B4J - PDF aberto com sucesso.")
#End If
Catch
Log("Erro ao abrir o PDF: " & LastException)
End Try
End Sub
Last edited: