2017-05-19 11 views
1

Barryvdh DOMPDF를 사용하여 Laravel의 PDF보기에서 PDF를 생성하고 있습니다. Google지도 이외의 모든 것이 잘 작동합니다. 내가 만든 새로운 루트를Google지도 Laravel PDF 생성 문제

  1. 을하고있는 중이 야 방법이있다

    Route::get('/printPDF', '[email protected]'); 
    
    프린터 컨트롤러에서
  2. 가 생성 함수 printPDF

      을 얻기 위해 구글지도 API를 호출하고 서버

      $sMapa= public_path("temp/test5".".png"); 
      $image = file_get_contents('http://maps.googleapis.com/maps/api/staticmap?center=' 
      . $sLat. ",". $sLong 
      . '&maptype=hybrid' 
      .'&zoom=18&size=510x250&markers=size:tiny|color:red|' 
      . $sLat. ",". $sLong); 
      
      $fp= fopen($sMapa, 'w+'); 
      fputs($fp, $image); 
      fclose($fp); 
      
에지도를 저장

지도를 만들어 서버에 Test5.png 파일로 저장합니다.

이제보기를로드하여 PDF를 생성하고 해당 경로에서 test5.png를 절대 경로와 함께 사용하십시오.

$pdf = ""; 
    $pdf = \PDF::loadView('main_pdf', $data); 
    $file = "data/report/".$pdf_filename; 
    file_put_contents($file, $pdf->output()); 

PDF가 생성되었지만 Map (test5.png)이 올바르지 않게 배치되면 왜곡됩니다. like this  See the attachment

누군가가 문제를 파악하고 해결하는 방법을 알아낼 수 있습니까?

서버의 이미지는 정상이며 손상되지 않았습니다.

+0

방금 ​​test5.png를 열 때 왜곡 된 이미지입니까? – FMashiro

+0

직접 열면 왜곡되지 않습니다. – qammar

답변

0

이렇게하면 좋겠고 멋지게 작동합니다.

$image = file_get_contents('http://maps.googleapis.com/maps/api/staticmap?center=' 
. $sLat. ",". $sLong 
. '&maptype=hybrid' 
.'&zoom=18&size=510x250&markers=size:tiny|color:red|' 
. $sLat. ",". $sLong); 

// 서버에

Storage::put('public/folder/'.'somename'.png', $image); 

를 이미지를 저장하고 당신의 예를 들어 PDF

로 변환하는 뷰에 찾아 :

<img src="{{ url('/') }}{{ Storage::url('folder/'somename'.png')}}" alt="" style="width: 100%;"> 

I 이것이 도움이되기를 바랍니다.