php で Web ページを画像形式に変換する方法: 1. chrome-php/chrome をインストールします; 2. chrome をインストールします; 3. コントローラーを介して変換ロジックを実装します。
#php Web ページを画像形式に変換するにはどうすればよいですか?
PHP は Web ページの HTML 全体を画像に変換し、保存します (スクロールを含む) 1. chrome-php/chromecomposer require chrome-php/chrome2. インストールします。 chromium (自己インストール) Baidu)
Chromium は、Google によって開発された Web ブラウザです。 BSD ライセンスやオープン ソース コードなど、複数の無償著作権のもとでリリースされている Chromium の開発は、2006 年にはすでに開始されていた可能性があります。 Chromium は Google の Chrome ブラウザの背後にあるエンジンであり、その目的は安全で安定した高速なユニバーサル ブラウザを作成することです。3. コントローラー実装ロジック (laravel フレームワーク)
<?php namespace App\Http\Controllers; use App\Http\Controllers\Controller; use HeadlessChromium\BrowserFactory; // 测试控制器 class TestController extends Controller { public function index() { // chromium浏览器引擎位置(Mac系统,根据不同系统设置安装) $browserFactory = new BrowserFactory('/Applications/Chromium.app/Contents/MacOS/chromium'); // starts headless chrome $browser = $browserFactory->createBrowser(); // creates a new page and navigate to an url $page = $browser->createPage(); // 自动化访问网页 $url = 'https://www.jianshu.com'; $page->navigate($url)->waitForNavigation(); // 获取浏览器滚动条宽高,用于设置:setViewport $evaluation = $page->callFunction( 'function() { var width = document.body.scrollWidth; var height = document.body.scrollHeight; return [width,height]; }' ); $value = $evaluation->getReturnValue(); $width = $value[0]; $height = $value[1]; $page->setViewport($width, $height)->await(); // wait for operation to complete // take the screenshot (in memory binaries) // 这里如果截取的图片过大,需要设置超时时间或者调整图片质量 $screenshot = $page->screenshot([ 'format' => 'jpeg', // default to 'png' - possible values: 'png', 'jpeg', 'quality' => 100, // only if format is 'jpeg' - default 100 ]); $screenshot->saveToFile(storage_path('/app/example.png')); // 关闭浏览器 $browser->close(); } }ページ内にインタラクションが多すぎる場合は、実際の状況に応じて調整する必要があります。 推奨学習: 「
PHP ビデオ チュートリアル 」
以上がPHPでWebページを画像形式に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。