TCPDF_import не вносит существующий файл

У меня есть PDF-сертификат, я хочу заполнить две строки, когда пользователь завершит курс обучения и отобразит PDF-файл, чтобы он мог его распечатать или загрузить.

Я использую TCPDF для записи двух строк в существующем PDF-файле.

По предложениям в предыдущем посте ( используя PHP для заполнения PDF-файла ), я использую TCPDF_IMPORT для переноса существующего PDF-файла в объект и записи поверх него.

Однако исходный PDF НЕ отображается на экране, я остаюсь с пустым документом, и только строки текста, которые я создал.

Ниже приводится то, что у меня есть до этого момента – он дает ТОЛЬКО строку «Это мой тестовый текст».

<?php // Include the main TCPDF library (search for installation path). require_once( '../tcpdf_import.php' ); // create new PDF document $pdf = new TCPDF_IMPORT( '1_cert.pdf' ); // set document information $pdf->SetCreator( 'aaa.com' ); $pdf->SetAuthor( 'aaa.com' ); $pdf->SetTitle( 'Certificate Test' ); $pdf->SetSubject( 'In completion of x-module' ); $pdf->SetKeywords( '' ); // set default monospaced font $pdf->SetDefaultMonospacedFont( PDF_FONT_MONOSPACED ); // set font $pdf->SetFont( 'times', 'B', 30 ); // display $pdf->SetDisplayMode( 'fullpage', 'SinglePage', 'UseNone' ); // set margins $pdf->SetMargins( 10, PDF_MARGIN_TOP, 10 ); // set auto page breaks $pdf->SetAutoPageBreak( TRUE, PDF_MARGIN_BOTTOM ); // set image scale factor $pdf->setImageScale( PDF_IMAGE_SCALE_RATIO ); // set some language-dependent strings (optional) if ( @file_exists( dirname( __FILE__ ).'/lang/eng.php' ) ) { require_once( dirname( __FILE__ ).'/lang/eng.php' ); $pdf->setLanguageArray( $l ); } // ------------------------------------------------------------- // stuff i believe should write test over an existing PDF // ------------------------------------------------------------- $pdf->StartPage( 'L', '', false ); $pdf->SetY( 50 ); $pdf->Cell( 0, 0, 'test text', 0, 1, 'C' ); $pdf->EndPage( false ); // ------------------------------------------------------------- // end of stuff i believe should write test over an existing PDF // ------------------------------------------------------------- //Close and output PDF document $pdf->Output( 'aTest.pdf', 'I' ); ?> 

Related of "TCPDF_import не вносит существующий файл"

Ну, не так красноречиво, как хотелось, но я нашел что-то, что работает …

 <?php require_once "tcpdf/tcpdf.php"; require_once "FPDI/fpdi.php"; $pdf = new FPDI( 'L', 'mm', 'LETTER' ); //FPDI extends TCPDF $pdf->AddPage(); $pages = $pdf->setSourceFile( 'test.pdf' ); $page = $pdf->ImportPage( 1 ); $pdf->useTemplate( $page, 0, 0 ); $pdf->Output( 'newTest.pdf', 'F' ); ?> 

Спасибо Саймону, который опубликовал в http://sourceforge.net/p/tcpdf/discussion/435311/thread/66272894/

Я смог изменить это – он включает в себя запуск двух библиотек, но он работает.

Создайте файл и назовите его pdfConcat.php и вставьте:

 <?php require_once("tcpdf/tcpdf.php"); require_once("fpdi/fpdi.php"); class concat_pdf extends FPDI { var $files = array(); function setFiles($files) { $this->files = $files; } function concat() { foreach($this->files AS $file) { $pagecount = $this->setSourceFile($file); for ($i = 1; $i <= $pagecount; $i++) { $tplidx = $this->ImportPage($i); $s = $this->getTemplatesize($tplidx); $this->AddPage('P', array($s['w'], $s['h'])); $this->useTemplate($tplidx); } } } } ?> 

Применение:

 include_once("pdfConcat.php"); $pdf =& new concat_pdf(); $pdf->setFiles(array("doc.pdf","pauta.pdf", "4bp.pdf", "5bp.pdf")); $pdf->concat(); $pdf->Output("newpdf.pdf", "I"); 

http://garridodiaz.com/concatenate-pdf-in-php/

Ole !!!