tcpdf พร้อม laravel 5

ฉันต้องการบันทึกไฟล์ pdf ที่ส่งออกไปยังโฟลเดอร์สาธารณะวิธีการของฉันคือ

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::Output มีข้อผิดพลาดกับตัวเลือก F และ D ข้อผิดพลาดเมื่อใช้ F คือ ErrorException ใน tcpdf_static.php บรรทัด 2440: fopen(): ไม่รองรับการเข้าถึงไฟล์โฮสต์ระยะไกล file://qrcodes\test.pdf และเมื่อฉันแทนที่บรรทัดสุดท้ายด้วย

PDF::Output($_SERVER['DOCUMENT_ROOT'] . 'qrcodes\test.pdf', 'F');

ข้อผิดพลาดคือ ErrorException ใน tcpdf.php บรรทัด 2793: คุณสมบัติที่ไม่ได้กำหนด: Elibyy\TCPDF\Pdf::$h


person Rana Fouad    schedule 23.08.2016    source แหล่งที่มา


คำตอบ (1)


สาเหตุหลักที่คุณได้รับข้อผิดพลาดเกี่ยวกับการเข้าถึงไฟล์โฮสต์ระยะไกลที่ไม่รองรับคือ เนื่องจากคุณต้องระบุเส้นทางแบบเต็มในชื่อไฟล์ที่คุณระบุให้กับเมธอด Output() ใช่ มันน่ารำคาญนิดหน่อยและมันทำให้ฉันรำคาญตลอดเวลา!

ฉันไม่สามารถแสดงความคิดเห็นเกี่ยวกับข้อผิดพลาดที่สองที่คุณได้รับเนื่องจากฉันไม่สามารถเรียกใช้โค้ดของคุณได้ (วิธีการหายไปในคลาส QrCode) คุณใช้เวอร์ชันอะไรอยู่? นอกจากนี้ เหตุใดคุณจึงพยายามสร้าง SVG สำหรับโค้ด QR แล้วเพิ่มลงใน PDF แทนที่จะใช้แนวทางนั้น ฉันขอแนะนำอย่างยิ่งให้ปฏิบัติตามแนวทางที่แสดงในตัวอย่างนี้:

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

ดังที่คุณจะเห็นในตัวอย่าง คุณควรสร้างอินสแตนซ์ของคลาส TCPDF แล้วทำงานกับอินสแตนซ์นั้น แทนที่จะเรียกใช้เมธอดแบบสแตติก

person JamesG    schedule 24.08.2016