2016-08-23 64 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类的一个实例,然后与该实例工作,而不是调用静态方法。