ต้องการแพ็คเกจนี้ใน Composer.json และอัพเดทนักแต่งเพลง สิ่งนี้จะดาวน์โหลดแพ็คเกจและไลบรารี Dompdf + Fontlib ด้วย
composer require barryvdh/laravel-dompdf
หลังจากอัปเดตนักแต่งเพลงเพิ่มบรรทัดต่อไปนี้เพื่อลงทะเบียนผู้ให้บริการใน bootstrap/app.php
$app->register(BarryvdhDomPDFServiceProvider::class);
หากต้องการเปลี่ยนการกำหนดค่าให้คัดลอกไฟล์กำหนดค่าไปยังโฟลเดอร์ config ของคุณและเปิดใช้งานใน bootstrap/app.php :
$app->configure('dompdf');
คุณสามารถสร้างอินสแตนซ์ DOMPDF ใหม่และโหลดสตริง HTML ไฟล์หรือชื่อมุมมอง คุณสามารถบันทึกลงในไฟล์หรือสตรีม (แสดงในเบราว์เซอร์) หรือดาวน์โหลด
use Barryvdh DomPDF Facade Pdf ;
$ pdf = Pdf:: loadView ( ' pdf.invoice ' , $ data );
return $ pdf -> download ( ' invoice.pdf ' );หรือใช้คอนเทนเนอร์แอพ:
$ pdf = App:: make ( ' dompdf.wrapper ' );
$ pdf -> loadHTML ( ' <h1>Test</h1> ' );
return $ pdf -> stream ();หรือใช้ด้านหน้า:
คุณสามารถห่วงโซ่วิธีการ:
return Pdf:: loadFile ( public_path (). ' /myfile.html ' )-> save ( ' /path-to/my_stored_file.pdf ' )-> stream ( ' download.pdf ' );คุณสามารถเปลี่ยนการวางแนวและขนาดกระดาษและซ่อนหรือแสดงข้อผิดพลาด (โดยค่าเริ่มต้นข้อผิดพลาดจะปรากฏขึ้นเมื่อมีการดีบัก)
Pdf:: loadHTML ( $ html )-> setPaper ( ' a4 ' , ' landscape ' )-> setWarnings ( false )-> save ( ' myfile.pdf ' )หากคุณต้องการเอาต์พุตเป็นสตริงคุณสามารถรับ PDF ที่แสดงผลด้วยฟังก์ชั่นเอาต์พุต () เพื่อให้คุณสามารถบันทึก/ส่งออกด้วยตัวเอง
ใช้ php artisan vendor:publish เพื่อสร้างไฟล์กำหนดค่าที่ตั้งค่าที่ config/dompdf.php ซึ่งจะช่วยให้คุณสามารถกำหนดค่าท้องถิ่นเพื่อเปลี่ยนการตั้งค่าบางอย่าง (กระดาษเริ่มต้น ฯลฯ ) คุณยังสามารถใช้ configprovider ของคุณเพื่อตั้งค่าคีย์บางอย่าง
การตั้งค่าการกำหนดค่าเริ่มต้นถูกตั้งค่าใน config/dompdf.php คัดลอกไฟล์นี้ไปยังไดเรกทอรี config ของคุณเองเพื่อแก้ไขค่า คุณสามารถเผยแพร่การกำหนดค่าโดยใช้คำสั่งนี้:
php artisan vendor:publish --provider= " BarryvdhDomPDFServiceProvider "คุณยังสามารถเปลี่ยนตัวเลือก DOMPDF ในรหัสของคุณก่อนที่จะสร้าง PDF โดยใช้คำสั่งนี้:
Pdf:: setOption ([ ' dpi ' => 150 , ' defaultFont ' => ' sans-serif ' ]);ตัวเลือกที่มีอยู่และค่าเริ่มต้น:
ในเทมเพลตของคุณตั้งค่า metatag UTF-8:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
คุณสามารถใช้คุณสมบัติ CSS page-break-before / page-break-after เพื่อสร้างหน้าใหม่
<style>
.page-break {
page-break-after: always;
}
</style>
<h1>Page 1</h1>
<div class="page-break"></div>
<h1>Page 2</h1>
wrapper dompdf นี้สำหรับ Laravel เป็นซอฟต์แวร์ที่ได้รับใบอนุญาตแบบเปิดโล่งภายใต้ใบอนุญาต MIT