แพ็คเกจสามารถแปลงเว็บเพจเป็นรูปภาพหรือ pdf การแปลงนี้ดำเนินการเบื้องหลังโดย Puppeteer ซึ่งควบคุม Google Chrome เวอร์ชันที่ไม่มีส่วนหัว
นี่เป็นตัวอย่างสั้นๆ:
ใช้ SpatieBrowsershotBrowsershot;// รูปภาพจะถูกบันทึกBrowsershot::url('https://example.com')->save($pathToImage);
มันจะบันทึกไฟล์ PDF หากเส้นทางที่ส่งไปยังวิธี save
มีนามสกุล pdf
// ไฟล์ pdf จะถูกบันทึกไว้Browsershot::url('https://example.com')->save('example.pdf');
คุณยังสามารถใช้อินพุต html ที่กำหนดเองได้ เพียงแทนที่วิธี url
ด้วย html
:
Browsershot::html('<h1>สวัสดีชาวโลก!!</h1>')->save('example.pdf');
หากอินพุต HTML ของคุณมีอยู่แล้วในไฟล์ในเครื่องให้ใช้:
Browsershot::htmlFromFilePath('/local/path/to/file.html')->save('example.pdf');
Browsershot ยังสามารถรับเนื้อหาของหน้า html หลังจากเรียกใช้งาน JavaScript:
เบราว์เซอร์ช็อต::url('https://example.com')->bodyHtml(); // คืนค่า html ของ body
หากคุณต้องการดึงรายการอาร์เรย์พร้อมคำขอทั้งหมดที่เพจทริกเกอร์ คุณสามารถทำได้:
$requests = Browsershot::url('https://example.com') ->triggeredRequests();foreach ($คำขอเป็น $คำขอ) {$url = $request['url']; //https://example.com/
หากต้องการใช้โหมด headless ใหม่ของ Chrome ให้ส่งเมธอด newHeadless
:
Browsershot::url('https://example.com')->newHeadless()->save($pathToImage);
เรียนรู้วิธีสร้างแพ็คเกจเช่นนี้โดยชมหลักสูตรวิดีโอระดับพรีเมียมของเรา:
เราลงทุนทรัพยากรจำนวนมากเพื่อสร้างแพ็คเกจโอเพ่นซอร์สที่ดีที่สุดในระดับเดียวกัน คุณสามารถสนับสนุนเราได้โดยการซื้อหนึ่งในผลิตภัณฑ์ที่ต้องชำระเงินของเรา
เราขอขอบคุณอย่างยิ่งที่คุณส่งโปสการ์ดจากบ้านเกิดของคุณถึงเรา โดยระบุว่าคุณใช้แพ็คเกจใดของเรา คุณจะพบที่อยู่ของเราในหน้าติดต่อของเรา เราเผยแพร่โปสการ์ดที่ได้รับทั้งหมดบนวอลล์โปสการ์ดเสมือนของเรา
เอกสารทั้งหมดมีอยู่ในเว็บไซต์เอกสารของเรา
หากต้องการเรียกใช้ชุดทดสอบ คุณจะต้องติดตั้ง Puppeteer โปรดดูข้อกำหนดของ Browsershot ที่นี่ โดยปกติแล้ว npm -gi puppeteer
จะทำเคล็ดลับ
นอกจากนี้ คุณจะต้องมี pdftotext
CLI ซึ่งเป็นส่วนหนึ่งของแพ็คเกจ poppler-utils ข้อมูลเพิ่มเติมสามารถพบได้ใน spatie/pdf-to-text readme โดยปกติแล้ว brew install poppler-utils
ก็เพียงพอแล้ว
ในที่สุดก็ทำการทดสอบด้วย:
การทดสอบผู้แต่ง
โปรดดูการมีส่วนร่วมเพื่อดูรายละเอียด
หากคุณพบข้อบกพร่องเกี่ยวกับการรักษาความปลอดภัย โปรดส่งอีเมลไปที่ [email protected] แทนการใช้ตัวติดตามปัญหา
หากคุณไม่สามารถติดตั้ง Node และ Puppeteer ได้ ลองดูที่ v2 ของ browsershot ซึ่งใช้ Chrome headless CLI เพื่อจับภาพหน้าจอ v2
ไม่ได้รับการดูแลรักษาอีกต่อไป แต่น่าจะทำงานได้ดีทีเดียว
หากการใช้ Chrome ที่ไม่มีหัวไม่ทำงานสำหรับคุณ ลองดูที่ v1
ของแพ็คเกจนี้ซึ่งใช้ไบนารี PhantomJS
ที่ถูกละทิ้ง
ฟรีค ฟาน เดอร์ แฮร์เทน
ผู้ร่วมให้ข้อมูลทั้งหมด
และขอขอบคุณ Caneco เป็นพิเศษสำหรับโลโก้
ใบอนุญาตเอ็มไอที (MIT) โปรดดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม