为什么我从 html 生成的 pdf 文档看起来很奇怪?
Why my pdf document generated from html looks weird?
我制作了一个简单的 laravel 应用程序,用于通过 url 从页面创建 pdf 文档。但是我的 pdf 没有从页面中获得正确的样式,有时看起来很奇怪。我做错了吗?
这是google.com
这就是我用 dompdf 所做的
$pdf->loadHTML($content); <--- HTML getted with curl
$pdf->setPaper('A2', 'portrait');
$output = $pdf->output();
这就是我在字符串上得到 html 的方法。
protected function get_web_page( $url )
{
/**
* Send a GET requst using cURL
* @param string $url to request
* @param array $user_agent values to send
* @param array $options for cURL
* @return string
*/
$user_agent='Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0';
$options = array(
CURLOPT_CUSTOMREQUEST =>"GET", //set request type post or get
CURLOPT_POST =>false, //set to GET
CURLOPT_USERAGENT => $user_agent, //set user agent
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 10, // timeout on connect
CURLOPT_TIMEOUT => 10, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);
$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}
您可能没有通过 curl 获得页面的样式。
看看这是否有助于在您的“$content”变量上提供所有内容。
PHP: Get all CSS files of an HTML web page
我制作了一个简单的 laravel 应用程序,用于通过 url 从页面创建 pdf 文档。但是我的 pdf 没有从页面中获得正确的样式,有时看起来很奇怪。我做错了吗?
这是google.com
这就是我用 dompdf 所做的
$pdf->loadHTML($content); <--- HTML getted with curl
$pdf->setPaper('A2', 'portrait');
$output = $pdf->output();
这就是我在字符串上得到 html 的方法。
protected function get_web_page( $url )
{
/**
* Send a GET requst using cURL
* @param string $url to request
* @param array $user_agent values to send
* @param array $options for cURL
* @return string
*/
$user_agent='Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0';
$options = array(
CURLOPT_CUSTOMREQUEST =>"GET", //set request type post or get
CURLOPT_POST =>false, //set to GET
CURLOPT_USERAGENT => $user_agent, //set user agent
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 10, // timeout on connect
CURLOPT_TIMEOUT => 10, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);
$ch = curl_init( $url );
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
$header['content'] = $content;
return $header;
}
您可能没有通过 curl 获得页面的样式。
看看这是否有助于在您的“$content”变量上提供所有内容。
PHP: Get all CSS files of an HTML web page