2016-08-23 107 views
0

我想輸出的PDF文件保存到公用文件夾我的方法是TCPDF與laravel 5

public function qrSVG() 
{ 
    $qrCodes = ['4659284fff','465928447','465928447','613271980','484016586','aaaaabbbbbccccc']; 
    $id = ['201596400-1','201596400-2','201596400-3','831070646','493130428','aaaaabbbb']; 


    PDF::SetTitle('qrcodes\test'); 

    $i=0; 
    foreach(array_chunk($qrCodes, 2) as $qrCodee) 
    { 
     PDF::AddPage(); 
     $m = 55; 
     $n = 30; 
     foreach($qrCodee as $qr) 
     { 
      QrCode::size(400); 
      QrCode::margin(3); 
      QrCode::errorCorrection('H'); 
      QrCode::encoding('UTF-8'); 
      QrCode::backgroundColor(255,255,255); 
      QrCode::color(0,0,0); 
      QrCode::imageTitle($id[$i]); 
      $svg = QrCode::generate($qr); 
      PDF::ImageSVG('@'.$svg, $x=$m, $y=$n, $w='100', $h='100', $link='', $align='', $palign='', $border=1, $fitonpage=false); 
      $i++; 
      $n = 150; 
     }  
    }  
    ob_clean(); 
    PDF::Output('qrcodes\test.pdf');} 

這個代碼生成和打開文件放不救它,當我在我的代碼替換最後一行與PDF::Output('qrcodes\test.pdf', 'F'); 當我把任何選項與PDF ::輸出有F和D選項的錯誤使用F時的錯誤是 ErrorException在tcpdf_static.php行2440: fopen():不支持遠程主機文件訪問,文件:// qrcodes \ test.pdf 當我用

替換最後一行
PDF::Output($_SERVER['DOCUMENT_ROOT'] . 'qrcodes\test.pdf', 'F'); 

的錯誤 ErrorException在tcpdf.php線2793: 未定義的屬性:Elibyy \ TCPDF \ PDF閱讀:: $ H

回答

0

你得到關於遠程主機文件訪問錯誤的主要原因也不支持因爲您需要提供您提供給Output()方法的文件名中的完整路徑。是的,這有點煩人,它總是讓我感到厭煩!

我不能評論你得到的第二個錯誤,因爲我無法讓你的代碼運行(在QrCode類中缺少方法)。你使用什麼版本?另外,你爲什麼要爲QR碼創建一個SVG,然後將其添加到PDF中?而不是採取這種做法,我會強烈建議在這個例子中所示的方法如下:

https://github.com/tecnickcom/TCPDF/blob/master/examples/example_050.php

正如你將看到的例子,你應該創建TCPDF類的一個實例,然後與該實例工作,而不是調用靜態方法。