FPDF - вставка страницы в готовый PDF-файл - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть пара страниц, которые используют PHP & JavaScript для отображения нескольких графиков Canvas JS, которые считывают данные из различных баз данных.

Я хочу иметь возможность генерировать PDF на потребовалось использовать пользовательский верхний и нижний колонтитулы и разрывы страниц, поэтому я посмотрел на FPDF.

Как мне создать iframe указанной страницы в PDF? Если это невозможно, есть ли решение, более подходящее для выполнения sh этого?

См. Код ниже:

<?php

require_once('assets/plugins/FPDF/fpdf.php');

class PDF extends FPDF
{
    // Page header
    function Header()
    {
        // Header Text Styling
        $this->SetFont('Oswald','',14);
        $this->SetTextColor(0,94,153);

        // Left Image
        $this->Image('assets/images/brand/logo.png', 0.4, 0.25, 3.5);

        // Spacer Cell
        $this->Cell(4);

        // Report Title
        $this->Cell(1.75,0.5,'DAILY SUMMARY',0,0,'C');

        // Date Stamp
        $this->Cell(1.75,0.5,'2020-04-01',0,0,'R');

        // Line break
        $this->Ln(0.75);
    }

    // Page footer
    function Footer()
    {
        // Footer Text Styling
        $this->SetFont('Oswald','',10);
        $this->SetTextColor(0,94,153);

        // Position from bottom of page
        $this->SetY(-0.7);

        // Report Timestamp
        $this->Cell(3,0.5,'Report generated on '.date("M d Y, g:i:s A"),0,0,'L');

        // Page Number
        $this->Cell(2.25,0.5,'Page '.$this->PageNo().' of {nb}',0,0,'C');

        // Data coverage available for this report's period
        $this->Cell(2.25,0.5,'99.9% Data Coverage',0,0,'R');
    }
}

// Portrait Mode in Inches
$pdf = new PDF('P', 'in');

// Imported font styles
$pdf->AddFont('Oswald','','Oswald.php');
$pdf->AddFont('ProximaNovaReg','','ProximaNova-Regular.php');

// Page Properties
$pdf->SetMargins(0.4,0.25,0.4);

// Default font for body
$pdf->SetFont('ProximaNovaReg','',12);

// Total number of pages for footer
$pdf->AliasNbPages();

// Add pages
$pdf->AddPage();
    //  HERE WE SHOULD HAVE AN IFRAME

// Output PDF
$pdf->Output();
?>
...