如何在 TCPDF 中添加图像

Ali*_*ana 5 pdf image magento tcpdf

我想在我的 Magento 商店中使用 TCPDF 在标题中添加图像。

我正在这样做:

$tcpdf = new TCPDF_TCPDF();
$img = file_get_contents(Mage::getBaseDir('media') . '/dhl/logo.jpg');

$PDF_HEADER_LOGO = $tcpdf->Image('@' . $img);//any image file. check correct path.
$PDF_HEADER_LOGO_WIDTH = "20";
$PDF_HEADER_TITLE = "This is my Title";
$PDF_HEADER_STRING = "This is Header Part";

$tcpdf->SetHeaderData($PDF_HEADER_LOGO, $PDF_HEADER_LOGO_WIDTH, $PDF_HEADER_TITLE, $PDF_HEADER_STRING);

$tcpdf->Output('report_per_route_'.time().'.pdf', 'I'); 
Run Code Online (Sandbox Code Playgroud)

如果我想添加商店名称(左角)和徽标(右角),我必须遵循哪些步骤?

map*_*ith 6

如果您尝试使用以下方法生成 pdf,WriteHTML()这里有一个无需使用image()函数即可添加图像的小技巧。

<img>只需使用如下HTML ,

$image_path = 'path/to/image'; $print = '<p>some text here...</p>'; $print .= '<img src=" '. $image_path .' ">';

您可以使用内联 css 来应用高度、宽度等。


Deu*_*777 2

好的。首先$PDF_HEADER_LOGO假设是图像文件名,而不是图像数据 - 正如 Header() 函数的默认实现一样。然而,要记住一件重要的事情,确切的位置取决于K_PATH_IMAGES常数,它应该包含图像文件夹的路径。如果它在包含 TCPDF 库之前定义,则可以,如果没有 TCPDF,则检查一些默认路径,并使用第一个现有路径作为图像目录。这些目录是:

  • ./示例/图像/
  • 。/图片/
  • /usr/share/doc/php-tcpdf/examples/images/
  • /usr/share/doc/tcpdf/examples/images/
  • /usr/share/doc/php/tcpdf/examples/images/
  • /var/www/tcpdf/图像/
  • /var/www/html/tcpdf/images/
  • /usr/local/apache2/htdocs/tcpdf/images/
  • K_PATH_MAIN(这是根 tcpdf 文件夹)

因此,要么在之前定义常量,要么将文件放入上述目录之一,然后仅将文件名作为第一个参数传递给它SetHeaderData,它应该可以工作。

要为页脚提供类似的功能,您需要扩展基本 TCPDF_TCPDF 类并覆盖其页脚方法。

例子:

class MYPDF extends TCPDF_TCPDF {

    // Page footer
    public function Footer() {
        // Position at 15 mm from bottom
        $this->SetY(-15);
        // Set font
        $this->SetFont('helvetica', 'I', 8);
        // Page number
        $this->Cell(0, 10, 'COMPANY NAME', 0, false, 'C', 0, '', 0, false, 'T', 'M');
        $this->Image('/path/to/image.jpg', 500)
    }
}
Run Code Online (Sandbox Code Playgroud)

您可能需要计算出精确的坐标。特别是在 Image 中,它取决于您的尺寸,您可以向 Image 函数添加另一个参数,即 y 坐标,以及另外两个参数 - 图像的宽度和高度。

最重要的是,我建议查看 TCPDF 页面上的精彩示例部分:

http://www.tcpdf.org/examples.php