Совместное использование FPDF и FPDI - PullRequest
0 голосов
/ 17 декабря 2018

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

Вот пример кода

if($row['art'] <> '')
{
$datasubject = mysqli_query($link,"SELECT * from documents WHERE subject = 'Art'");
$rowsubject = mysqli_fetch_array($datasubject);
$pdf->AddPage("P","A4");
$pdf->SetY(30);
$pdf->cell(350,20,"Art Page",0,'C',false);
$pdf = new \setasign\Fpdi\Fpdi();
// set the source file
$pageCount = $pdf->setSourceFile("C:\\temp\\sourcedocuments\\Year 7\\art\\KS4 FINE ART KNOWLEDGE ORGANISER higher tier.pdf");
for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
    $tplIdx = $pdf->importPage($pageNo);
    // add a page
    $pdf->AddPage();
    $pdf->useTemplate($tplIdx, null, null, 210, 300, true);

    // font and color selection
    $pdf->SetFont('Helvetica');
    $pdf->SetTextColor(200, 0, 0);

}
}

Прежде чем он попадет в этот оператор "IF", FPDF создает пару статических страниц "Cover", но они также перезаписываются импортированным документом.

1 Ответ

0 голосов
/ 17 декабря 2018

Перемещено $ pdf = new \ setasign \ Fpdi \ Fpdi ();из оператора «If» и заменил

$pdf = new FPDF(); with $pdf = new \setasign\Fpdi\Fpdi();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...