2017-11-29 23 views
0

curl 요청을 통해 pdf 데이터를 jsonEncoded byte []로 가져옵니다. 이 데이터를 작성하여 pdf로 저장해야합니다.json 바이트 []를 PDF로 저장하는 방법

당신은 PHP에서 이것을하는 방법을 도와 줄 수 있습니까?

내 컬 코드입니다 -이 같은 HTTP 헤더 변경

JVBERi0xLjQKJeLjz9MKMSAwIG9iaiAKPDwKL01hdHJpeCBbMSAwIDAgMSAwIDBdCi9TdWJ0eXBlIC9Gb3JtCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggMTUwMzc3Ci9SZXNvdXJjZXMgCjw8Ci9FeHRHU3RhdGUgCjw8Ci9HUzAgMiAwIFIKL0dTMSAzIDAgUgo+PgovQ29sb3JTcGFjZSAKPDwKL0NTMCA0IDAgUgo+PgovUHJvcGVydGllcyAKPDwKL01DMyAKPDwKL01ldGFkYXRhIDUgMCBSCj4+Ci9NQzIgCjw8Ci9NZXRhZGF0YSA2IDAgUgo+PgovTUMxIAo8PAovTWV0YWRhdGEgNyAwIFIKPj4KL01DMCAKPDwKL01ldGFkYXRhIDggMCBSCj4+Cj4+Ci9YT2JqZWN0IAo8PAovRm0xIDkgMCBSCi9GbTAgMTAgMCBSCi9GbTIgMTEgMCBSCj4+Ci9Gb250IAo8PAovVDFfMyAxMiAwIFIKL1QxXzIgMTMgMCBSCi9UMV8xIDE0IDAgUgovVDFfMCAxNSAwIFIKPj4KL1Byb2NTZXQgWy9QREYgL1RleHRdCj4+Ci9Gb3JtVHlwZSAxCi9UeXBlIC9YT2JqZWN0Ci9CQm94IFswIDAgNjEyIDc5Ml0KPj4Kc3RyZWFtCnic3L1bjy09ciX2/v2K/WgZ2KXknQQEAR5JbdiGgBmogXkYG4askWZst2TrMrDf5q+bwSCZychgXqoqso6MBvo7depUcW/uJNeK21r/+Nsf//d/tbz+0z//9se/+/vl9ef/12//7rc//qv/+6//4fUnf/LHf/ln/8Ofv5bXn/7pv/nzP3v99m9+/9vygv+p1/8JP6XKT/1e/a/wN7//u99S+WZ6Was+lA2vYPTHovMffv/3v/2H/+Z/Xkz4o7eO8Aff/gB/o9sf4L8u/9fBH2z+g4E/mPYH/Udv5eEPKv8hwB+W/AdT/2b4aZ1/nVq2P63zkirBH1z9aW3pDxn6F7q9TFV==

답변

2

데이터의 결과 문자열 base64 - 인코딩 된 데이터입니다. 따라서 더 처리하려면 base64_decode($responseData); 으로 전화해야합니다.

데이터가 손상되지 않고 파일로 저장하는 경우 유효한 PDF 파일을 받아야합니다. 예를 들어

은 :

$responseData = json_decode($response, TRUE); 
// decode the base64 data 
$pdfData = base64_decode($responseData); 
// save the decoded data to a PDF file 
file_put_contents('/path/to/file.pdf', $pdfData); 

PDF 파일은 이제 /path/to/file.pdf에 저장해야합니다.


1) base64_decode() documentation를 참조하십시오.

+0

thx 괜찮은, 그것은 작동하지만 .... 어떻게 "base64_encode"에서 알 수 있습니까? – Atul

+0

체험. :) base64를 더 자주 본 적이 있다면, 데이터의 끝에있는'/','+'및 특히'=='는 죽은 것입니다. Base64 데이터를 몇 번 더 보게되면 아마 즉시이를 인식하게 될 것입니다. –

+0

thx ........... :) – Atul

0

시도 -

$ch = curl_init($url); 
curl_setopt_array($ch, 
array(CURLOPT_POST => TRUE, 
CURLOPT_RETURNTRANSFER => TRUE, 
CURLOPT_BINARYTRANSFER => TRUE, 
CURLOPT_HTTPHEADER => array( 'Content-Type: application/json'), 
CURLOPT_POSTFIELDS => json_encode($postData)) 
); 

$response = curl_exec($ch); 

$responseData = json_decode($response, TRUE); 

내가 그 날이 결과를 제공 responseData을 인쇄하고시 :

$ch = curl_init($url); 
curl_setopt_array($ch, 
    array(CURLOPT_POST => TRUE, 
    CURLOPT_RETURNTRANSFER => TRUE, 
    CURLOPT_BINARYTRANSFER => TRUE, 
    CURLOPT_HTTPHEADER => array('Content-type:application/pdf'), 
    CURLOPT_POSTFIELDS => json_encode($postData)) 
); 

$response = curl_exec($ch); 

$responseData = json_decode($response, TRUE);