@@ -136,6 +136,7 @@ protected function htmlToPdf($html)
136136     * Bundle of the contents of a html file to be self-contained. 
137137     * @param $htmlContent 
138138     * @return mixed|string 
139+      * @throws \Exception 
139140     */ 
140141    protected  function  containHtml ($ htmlContent )
141142    {
@@ -153,9 +154,27 @@ protected function containHtml($htmlContent)
153154                } else  {
154155                    $ pathString  = $ srcString ;
155156                }
157+ 
158+                 // Attempt to find local files even if url not absolute 
159+                 $ base  = baseUrl ('/ ' );
160+                 if  (strpos ($ srcString , $ base ) === 0 ) {
161+                     $ isLocal  = true ;
162+                     $ relString  = str_replace ($ base , '' , $ srcString );
163+                     $ pathString  = public_path (trim ($ relString , '/ ' ));
164+                 }
165+ 
156166                if  ($ isLocal  && !file_exists ($ pathString )) continue ;
157167                try  {
158-                     $ imageContent  = file_get_contents ($ pathString );
168+                     if  ($ isLocal ) {
169+                         $ imageContent  = file_get_contents ($ pathString );
170+                     } else  {
171+                         $ ch  = curl_init ();
172+                         curl_setopt_array ($ ch , [CURLOPT_URL  => $ pathString , CURLOPT_RETURNTRANSFER  => 1 , CURLOPT_CONNECTTIMEOUT  => 5 ]);
173+                         $ imageContent  = curl_exec ($ ch );
174+                         $ err  = curl_error ($ ch );
175+                         curl_close ($ ch );
176+                         if  ($ err ) throw  new  \Exception ("Image fetch failed, Received error:  "  . $ err );
177+                     }
159178                    $ imageEncoded  = 'data:image/ '  . pathinfo ($ pathString , PATHINFO_EXTENSION ) . ';base64, '  . base64_encode ($ imageContent );
160179                    $ newImageString  = str_replace ($ srcString , $ imageEncoded , $ oldImgString );
161180                } catch  (\ErrorException   $ e ) {
0 commit comments