У меня есть пара страниц, которые используют 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();
?>