2012-10-22 22 views
8

Come posso generare un file PDF da un file binario recuperato dal database in php5? Viene codificato in base64, e l'ho appena decodificato, ma non so cosa fare dopo ...Come posso generare un file PDF da un file binario?

+0

Che cos'è un "file binario"? Vuoi dire che hai memorizzato un documento PDF base64 codificato nel database in precedenza? – deceze

+0

Ricevo il file da un webservice e voglio renderlo leggibile, ma non so in che modo prima di conoscere le mie alternative. – nli

risposta

25

I dati binari sono semplicemente il file effettivo, ovvero i contenuti importanti di tale file, solo senza nome file.

$base64 = /* some base64 encoded data fetched from somewhere */; 
$binary = base64_decode($base64); 

E il gioco è avere i dati file/contenuto del file nella variabile $binary. Da qui, dipende da cosa vuoi fare. È possibile scrivere i dati in un file, e si ottiene un "vero" file PDF:

file_put_contents('my.pdf', $binary); 

si può sputare i dati fuori al browser con un'intestazione adeguata, e l'utente riceverà qualcosa che assomiglia a un File PDF a lui:

header('Content-type: application/pdf'); 
header('Content-Disposition: attachment; filename="my.pdf"'); 
echo $binary; 
+2

Di solito non ringrazio sui siti di SE ... solo sul voto ... ma, dopo aver speso 2 ore cercando di fare questo il "difficile", e non trovando alcuna fonte di aiuto ... Devo ringraziarvi ! = D –

-1

Sto ripetendo l'ultima frase :) Non so qual è la domanda! :). Se si desidera trasferire il file su un browser, è possibile impostare le intestazioni e trasmettere il contenuto decodificato. O se vuoi che il file sia così, scrivi sul file system e usalo. Per favore sii più chiaro sulla tua domanda!

Grazie !!

+0

Scusa ma questa gestione dei file è nuova per me, quindi sto cercando di capire come utilizzare il file pdf che sto recuperando dal webservice che viene fornito in un formato binario. – nli