2017-09-28 20 views
0

FPDI와 FPDF를 사용하고 있고, 크기가 깔끔한 디자인의 PDF를 가져올 때 어떤 이유로 폴더에 저장되는 생성 된 PDF의 크기가 약간 수정되었습니다 , 조금 더 작거나/아래쪽과 오른쪽/왼쪽 모두에서 잘립니다. 어떻게 PDF를 그대로 가져올 수 있습니까? 원래와 정확히 같은 크기로? 미리 감사드립니다!FPDI가 가져온 PDF를 약간 자릅니다.

<?php 
use setasign\Fpdi\Fpdi; 

require_once('FPDF/fpdf.php'); 
require_once('FPDI/src/autoload.php'); 

// initiate FPDI 
$pdf = new Fpdi(); 

$pdf->setSourceFile('file.pdf'); 
$tplidx = $pdf->importPage(1); 

$pdf->addPage(); 
$pdf->useTemplate($tplidx); 

$pdf->SetFont('Helvetica'); 
$pdf->SetXY(5, 5); 
$pdf->Write(8, 'This is an example of inputted text.'); 

$filename="test8.pdf"; 
$pdf->Output($filename, 'F'); 

?> 

답변

0

이것은 FPDI는 PDF를 수정하지만 재사용이 가능한 구조로 페이지를 가져하지 않는 것을 보여주기 위해 좋은 문제입니다.

생성자 또는 addPage() 호출에서 페이지 크기를 정의하지 않았으므로 결과 페이지 크기는 A4 (기본 크기)이됩니다.

예를 들어 페이지를 가져 오는 경우 이 가져온 페이지는 A4 페이지에 맞지 않습니다.

이에 대한 몇 가지 해결책이 있습니다

A : 가져온 페이지의 크기를 확인하고이 매개 변수와 같이 AddPage()를 호출 :

$pageId = $this->ImportPage($pageNo); 
$s = $this->getTemplatesize($pageId); 
$this->AddPage($s['orientation'], $s); 
$this->useTemplate($pageId); 

B 다음 useImportedPage()의 $ adjustPageSize 매개 변수를 설정/true로 useTemplate() 방법 : 똑바로 앞으로 때문에

$this->AddPage(); 
$pageId = $this->ImportPage($pageNo); 
$this->useTemplate($pageId, ['adjustPageSize' => true); 

내가 용액 A를 제안합니다.

+0

멋진 사람 !! 정말 고맙습니다!!! –