我正在構建一個簡單的Web服務,需要將兩個PDF合併到一個PDF文件中。我可以將兩個PDF作爲文本(基本編碼爲64)和一個POST傳遞給服務,並且該服務需要將合併的PDF作爲編碼文本進行吐出,然後客戶端將重新編碼並生成PDF。將PDF與編碼PDF中的PHP結合 - 錯誤:「模板不存在!」
我發現這裏這個問題,這讓我開始: Can TCPDF/FPDI accept PDF as string?
我發現了一些示例代碼和多個庫:
- FPDI Example
- TCPDI < -setSourceData(串)
- TCPDF
這裏是一個編碼的PDF單頁簡單的(發佈資料) http://pastebin.com/zLXmCNJt
這裏是我的代碼:
<?php
require_once($_SERVER['DOCUMENT_ROOT'].'/FPDF/tcpdf/tcpdf.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/FPDF/tcpdf/tcpdi.php');
class ConcatPdf extends TCPDI
{
public $files = array();
public function setFiles($files)
{
$this->files = $files;
}
public function concat()
{
foreach($this->files AS $file) {
//$pageCount = $this->setSourceFile($file);
$pageCount = $this->setSourceData($file);//i modified this
for ($pageNo = 1; $pageNo <= $pageCount; $pageNo++) {
$tplIdx = $this->ImportPage($pageNo);
$s = $this->getTemplatesize($tplIdx);
$this->AddPage($s['w'] > $s['h'] ? 'L' : 'P', array($s['w'], $s['h']));
$this->useTemplate($tplIdx); //error here
}
}
}
}
$pdf641 = $_POST['pdf1'];
$pdf642 = $_POST['pdf2'];
$pdf = new ConcatPdf();
$pdf->setFiles(array(base64_decode($pdf641), base64_decode($pdf642)));
$pdf->concat(); //!!error here!!
echo base64_encode($pdf->Output('concat.pdf', 'S'));
?>
下面是來自服務器的錯誤日誌: http://pastebin.com/q2vzZfft
這是怎麼回事這裏錯了嗎?我該如何解決?
'$ pdf641 = _POST ['pdf1'];'不應該是'$ pdf641 = $ _POST ['pdf1'];'? – Meroje
@Meroje謝謝。同樣的錯誤。 – GisMofx