2013-02-06 3 views
1

첫 페이지 이후와 마지막 페이지 이후에 기존 PDF 문서에 페이지를 추가해야합니다. Zend_Pdf를 사용하여 구현했지만, 상호 참조 테이블이 스트림 (PDF 버전 1.5에서 도입 된 기능)으로 압축되지 않은 PDF 만 처리 할 수 ​​있다는 것을 알았습니다.기존 PDF> 1.4에서 어떤 PDF 라이브러리가 페이지를 추가 할 수 있습니까?

그래서 PDF-1.7을 기반으로 한 ISO-32000-1에 설명 된대로 객체 및 외부 참조 테이블을 스트림에 저장된 기존 PDF 문서를 수정할 수있는 PHP PDF 라이브러리를 찾고 있습니다.

  • TCPDFFPDI (그리고 FPDI은 무료 버전에서 1.4까지의 PDF 버전을 처리 할 수 ​​있습니다) (위에서 언급 한 바와 같이)
  • Zend_PDF 만까지 PDF 버전으로 파일을 처리 할 수와 함께, 수정할 수 없습니다 1.4. ZF2 버전의 Zend_Pdf 버전을 github에서 시험해 보는 것이 좋습니다. 내가

내 요구에 다른 PHP의 PDF 라이브러리가 있습니까 발견으로

  • FPDF는 PDF 버전 1.4 파일을 처리 할 수 ​​있습니까?

  • +0

    실제로 Zend_Pdf에 문제가 있습니까? 페이지는 PDF에서 잘 정의 된 별도의 객체이므로 Zend_Pdf로 PDF 파일을 열고 많은 추가 페이지를 추가하는 경우 Zend_Pdf가 제대로 작동하는 경우 가능성이 매우 높습니다. –

    +0

    예, 버전 1.5의 PDF에 문제가있었습니다. 오류 : "상호 참조 스트림이 아직 지원되지 않습니다." –

    +1

    @DavidvanDriessche [Zend_Pdf Einführung] (http://framework.zend.com/manual/1.12/de/zend.pdf.introduction.html#fnid1)에 따르면 V1.4 (Acrobat 5) PDF 문서의로드 만 지원됩니다 . 나는 그것이 상호 참조 스트림이 지원되지 않는다는 것을 의미한다고 가정한다. rescueAnn은 그들에 대한 지원을 요구하는 것 같습니다. – mkl

    답변

    0

    이 FPDI 다른 PDF 문서의 mergin을 할 수있는 것, 그래서 당신은 당신에게 다른 페이지를 첫 번째 페이지를 구축하고 지정된 순서 (Merge PDF files with 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); 
           } 
          } 
        } 
    } 
    
    /* uses example : 
    $pdf =& new concat_pdf(); 
    $pdf->setFiles(array("doc.pdf","pauta.pdf", "4bp.pdf", "5bp.pdf")); 
    $pdf->concat(); 
    //$pdf->Output("newpdf.pdf", "I");//for printing on screen 
    $pdf->Output("newpdf.pdf", "F");//for saving it 
    */ 
    

    만에 하나에 병합 할 수 있습니다 버전 1.4 이상에서는 새로운 구문이 사용되고 FPDI는 파서 번들을 지원하지만 무료 (100 €)는 아닙니다. 당신은 거기에 봐도 가질 수 Is there a way to make FPDF/FPDI or Zend_Pdf support the parsing of PDFs greater than 1.4? 너무.

    +0

    네 말이 맞아. 그러나 실제로 저는 합병을 할 자유로운 가능성을 찾고있었습니다. 내가 찾을 수 없다면, 나는 그것을 명심 할 것이다. PDFlib을 구입하는 것이 어쨌든 훨씬 더 비쌉니다. –

    관련 문제