Olá pessoal, tudo bom?
Eu preciso migrar uma base de dados do sistema antigo para o novo, porém estou tendo problemas. O sistema antigo armazenava no banco de dados os PDF's em formato BLOB e o sistema atual salva apenas o conteúdo do PDF, desta forma toda vez que precisa exibir o PDF a gente gera um novo PDF com o conteúdo salvo. Como alguns desses PDF's salvos na base estão scanneados, não tem como salvar seu conteúdo, por isso a saída seria salvar os PDF's dentro de uma pasta no sistema, para isso eu preciso converter os BLOB's em PDF e baixa-los. Eu já pesquisei bastante e só encontrei duas formas de fazer, a primeira que até baixa mas da bastante errado é montar os header's, o problema é que ele não baixou todos os arquivos, de 14000 PDF's ele baixou 4000, mais ou menos, eu fiz um teste para baixar 10 vezes o mesmo arquivo e ele só baixou 6 vezes, segue o código.
<?php
for($i = 0; $i < 10; $i ++) {
?>
<html>
<body>
<embed src="carregaPDF.php" width="0%">
</body>
</html>
<?php
}
?>
E o carregaPDF.php
<?php
sleep(1);
session_start();
require_once 'servidor.php';
$pesquisa = "SELECT `nomarq`, `binario`, `filetype`, `filesize`,`data` FROM `oficiospdf` WHERE id = '128'AND data='08/07/2010'";
$resultado = mysqli_fetch_array(pesquisaDB ( $pesquisa, "oficios_antiga" ));
$name = $resultado['nomarq'];
header('Content-Type: application/pdf');
header('Content-Length: ' . $resultado['filesize']);
header('Content-disposition: attachment; filename="'. $name . '.pdf"');
header('Cache-Control: public, must-revalidate, max-age=0');
header('Pragma: public');
ob_clean();
flush();
echo $resultado['binario'];
readfile($resultado['binario']);
exit;
?>
Esse binario é o BLOB. Todos os PDF's que são baixados estão corretos, ou seja, o conteúdo está OK e os parâmetros também, logo acredito que a comunicação com o banco de dados está OK. Então o problema, acredito eu, é a conversão de BLOB para PDF e depois fazer o download. Usando a tag <object> deu certo a conversão porém eu não consegui fazer o download automatizado. Se alguém souber alguma forma de baixar todos os BLOB's já convertidos em PDF, por favor ajuda ai.