Se você precisa proteger a URL do seu PDF enquanto exibe ele em uma página, uma solução eficiente e simples pode ser usar PHP, proxy, e um iframe com o visualizador de PDF PDF.js. Isso permite que você carregue o arquivo sem expor sua URL real para o cliente.
Aqui está o que vamos fazer:
- Criar um proxy PHP que redireciona para o visualizador PDF.js sem mostrar a URL do arquivo.
- Usar um iframe para exibir o conteúdo de forma integrada na página.
1. Criando o Proxy PHP
O primeiro passo é criar um proxy que receba a URL do arquivo PDF e a passe para o viewer.html do PDF.js sem expô-la diretamente.
<?php
// Caminho do arquivo PDF
$pdfPath = 'https://localhost/devdata/dashboard.devdata.com.br/1.pdf';
// URL do viewer.html com o parâmetro "file"
$url = url(tools) . '/readerPDF/web/viewer.html?file=' . $pdfPath;
// Verifica se a URL é válida
if (filter_var($url, FILTER_VALIDATE_URL)) {
// Gera a página com o iframe
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Exibindo PDF</title>
<style>
body, html {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
iframe {
width: 100%;
height: 100%;
border: none;
}
</style>
</head>
<body>
<iframe src="<?= htmlspecialchars($url, ENT_QUOTES, 'UTF-8'); ?>"></iframe>
</body>
</html>
<?php
} else {
echo "URL inválida ou não fornecida!";
}
?>
2. Exibindo o PDF com Iframe
A principal vantagem dessa abordagem é que a URL do arquivo PDF fica oculta da interface do usuário, sendo passado como parâmetro diretamente para o viewer.html do PDF.js.
No código acima:
- A URL do arquivo PDF é passada para o viewer.html através do parâmetro
file
. - A página é carregada com um iframe, que exibe o conteúdo PDF sem expor a URL real.
- HTML e CSS garantem que o iframe ocupe toda a tela, proporcionando uma experiência imersiva.
Vantagens dessa abordagem:
- Segurança: A URL real do arquivo PDF não fica visível para o cliente.
- Facilidade de uso: A integração com o PDF.js via iframe torna a exibição do PDF muito simples.
- Customização: Você pode facilmente adaptar o código para adicionar outros controles ou funcionalidades, como tema escuro ou opções de zoom.
Conclusão
Essa solução é perfeita para quando você precisa exibir PDFs de forma segura e prática, sem revelar o caminho real do arquivo. A combinação de proxy PHP com o iframe do PDF.js garante uma experiência de visualização de PDF sem complicação, enquanto mantém sua URL protegida.
Considerações finais:
Esse é um bom exemplo de como você pode fazer com que o visualizador de PDF seja seguro, simples e bem implementado, sem expor a URL do conteúdo. A possibilidade de utilizar o iframe deixa o processo ainda mais eficiente, enquanto o PHP atua como intermediário, garantindo a segurança.