TCPDF 添加 Php 渲染的图像
TCPDF Add Image Rendered By Php
我在使用 tcpdf 在 pdf 文件上添加图像时遇到问题。我的图像是由 php 脚本渲染的。
下面是脚本调用方式:(直接在浏览器上查看效果很好):
./Image.php?t=1049&e=100003&i=25040907060040
但是当我尝试使用以下代码使用 tcpdf 添加时:
$pdf->Image('./Image.php?t=1049&e=100003&i=25040907060040', '', '', 20, 20, 'jpg', '', 'T', false, 300, '', false, false, 0, false, false, false);
失败并出现以下错误:
错误 1:
Warning: getimagesize(./Image.php?t=1049&e=100003&i=25040907060040): failed to open stream: No error in .\Classes\tcpdf\include\tcpdf_images.php on line 171
错误 2:
Warning: imagecreatefromjpeg(./Image.php?t=1049&e=100003&i=25040907060040): failed to open stream: No error in .\Classes\tcpdf\tcpdf.php on line 7033
那么,我如何使用上面的 php 脚本 (Image.php) 添加图像?
提前致谢
它失败了,因为您的代码寻找图像数据的数据流。
最好的解决方案是包含Image.php
,它将具有输出图像数据的功能。
假设 Image.php
有 class ImageRenderer
和一个名为 render_image()
;
的 public 函数
您可以像这样将图像渲染为 PDF..
require_once('Image.php');
$dynimage = ImageRenderer::render_image(1049,100003,25040907060040); // Parameters t=1049&e=100003&i=25040907060040
// $dynimage will have some data like 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABlBMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDrEX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg=='
$imgdata = base64_decode($dynimage); // decode stream
// The '@' character is used to indicate that follows an image data stream and not an image file name
$pdf->Image('@'.$imgdata);
希望对您有所帮助!
我在使用 tcpdf 在 pdf 文件上添加图像时遇到问题。我的图像是由 php 脚本渲染的。
下面是脚本调用方式:(直接在浏览器上查看效果很好):
./Image.php?t=1049&e=100003&i=25040907060040
但是当我尝试使用以下代码使用 tcpdf 添加时:
$pdf->Image('./Image.php?t=1049&e=100003&i=25040907060040', '', '', 20, 20, 'jpg', '', 'T', false, 300, '', false, false, 0, false, false, false);
失败并出现以下错误:
错误 1:
Warning: getimagesize(./Image.php?t=1049&e=100003&i=25040907060040): failed to open stream: No error in .\Classes\tcpdf\include\tcpdf_images.php on line 171
错误 2:
Warning: imagecreatefromjpeg(./Image.php?t=1049&e=100003&i=25040907060040): failed to open stream: No error in .\Classes\tcpdf\tcpdf.php on line 7033
那么,我如何使用上面的 php 脚本 (Image.php) 添加图像?
提前致谢
它失败了,因为您的代码寻找图像数据的数据流。
最好的解决方案是包含Image.php
,它将具有输出图像数据的功能。
假设 Image.php
有 class ImageRenderer
和一个名为 render_image()
;
您可以像这样将图像渲染为 PDF..
require_once('Image.php');
$dynimage = ImageRenderer::render_image(1049,100003,25040907060040); // Parameters t=1049&e=100003&i=25040907060040
// $dynimage will have some data like 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABlBMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDrEX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg=='
$imgdata = base64_decode($dynimage); // decode stream
// The '@' character is used to indicate that follows an image data stream and not an image file name
$pdf->Image('@'.$imgdata);
希望对您有所帮助!