交互式/tcpdi

TCPDI是一个用于将PDF导入到TCPDF使用的PHP类

v1.3.1 2020-03-31 12:47 UTC

This package is auto-updated.

Last update: 2024-08-29 06:18:08 UTC


README

Composer已准备好的TCPDI

用于TCPDF的PDF导入器,基于FPDI。需要包含在仓库中的pauln/tcpdi_parserFPDF_TPL

安装

在composer.json中链接包,例如

composer require propa/tcpdi

使用方法

使用方法基本上与FPDI相同,只是使用TCPDI而不是FPDI。它还有一个"setSourceData()"函数,可以接受原始PDF数据,用于文件不在磁盘上或无法由TCPDI读取的情况。

// Create new PDF document.
$pdf = new TCPDI(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// Add a page from a PDF by file path.
$pdf->AddPage();
$pdf->setSourceFile('/path/to/file-to-import.pdf');
$idx = $pdf->importPage(1);
$pdf->useTemplate($idx);

$pdfdata = file_get_contents('/path/to/other-file.pdf'); // Simulate only having raw data available.
$pagecount = $pdf->setSourceData($pdfdata);
for ($i = 1; $i <= $pagecount; $i++) {
    $tplidx = $pdf->importPage($i);
    $pdf->AddPage();
    $pdf->useTemplate($tplidx);
}

// Create new PDF document.
$pdf = new TCPDI(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// Add a page from a PDF by file path.
$pdf->setSourceFile('/path/to/file-to-import.pdf');

// Import the bleed box (default is crop box) for page 1.
$tplidx = $pdf->importPage(1, '/BleedBox');
$size = $pdf->getTemplatesize($tplidx);
$orientation = ($size['w'] > $size['h']) ? 'L' : 'P';

$pdf->AddPage($orientation);

// Set page boxes from imported page 1.
$pdf->setPageFormatFromTemplatePage(1, $orientation);

// Import the content for page 1.
$pdf->useTemplate($tplidx);

// Import the annotations for page 1.
$pdf->importAnnotations(1);

TCPDI_PARSER

与TCPDI一起使用的解析器,基于TCPDF_PARSER。支持PDF版本1.7及以下。