該軟體包可以將網頁轉換為圖像或 pdf。該轉換是由 Puppeteer 在幕後完成的,Puppeteer 控制著 Google Chrome 的無頭版本。
這是一個簡單的例子:
use SpatieBrowsershotBrowsershot;// 將保存圖像Browsershot::url('https://example.com')->save($pathToImage);
如果傳遞給save
方法的路徑具有pdf
副檔名,它將保存 pdf。
// 將儲存 pdfBrowsershot::url('https://example.com')->save('example.pdf');
您也可以使用任意 html 輸入,只需將url
方法替換為html
:
Browsershot::html('<h1>Hello world!!</h1>')->save('example.pdf');
如果您的 HTML 輸入已經在本機檔案中,請使用:
Browsershot::htmlFromFilePath('/local/path/to/file.html')->save('example.pdf');
Browsershot 也可以在 JavaScript 執行後取得 html 頁面的正文:
Browsershot::url('https://example.com')->bodyHtml(); // 返回正文的 html
如果您希望檢索包含頁面觸發的所有請求的數組列表,您可以這樣做:
$requests = Browsershot::url('https://example.com') ->triggeredRequests();foreach ($requests as $request) {$url = $request['url']; //https://example.com/}
若要使用 Chrome 的新 headless 模式,請傳遞newHeadless
方法:
Browsershot::url('https://example.com')->newHeadless()->save($pathToImage);
透過觀看我們的高級影片課程,了解如何創建這樣的包:
我們投入了大量資源來創建一流的開源套件。您可以透過購買我們的一款付費產品來支持我們。
我們非常感謝您從家鄉寄給我們一張明信片,並註明您正在使用我們的哪種套餐。您可以在我們的聯絡頁面上找到我們的地址。我們在虛擬明信片牆上發布所有收到的明信片。
所有文件均可在我們的文件網站上找到。
為了運行測試套件,您需要安裝 Puppeteer。請參閱此處的 Browsershot 要求。通常npm -gi puppeteer
就可以解決問題。
此外,您還需要pdftotext
CLI,它是 poppler-utils 套件的一部分。更多資訊可以在 spatie/pdf-to-text 自述文件中找到。通常, brew install poppler-utils
就足夠了。
最後運行測試:
作曲家測試
詳細資訊請參閱貢獻。
如果您發現有關安全的錯誤,請發送郵件至 [email protected],而不是使用問題追蹤器。
如果您無法安裝 Node 和 Puppeteer,請查看 browsershot v2,它使用 Chrome headless CLI 來截取螢幕截圖。 v2
不再維護,但應該運作得很好。
如果使用無頭 Chrome 不起作用,請查看此軟體包的v1
,它使用廢棄的PhantomJS
二進位。
弗里克·范德赫滕
所有貢獻者
特別感謝 Caneco 的標誌
麻省理工學院許可證 (MIT)。請參閱許可證文件以獲取更多資訊。