2014-04-18 1 views
1

내가이 다음과 같은 오류가 PDF를 생성 할 때 잘못된 값 0 오류를 얻기 :내가 내 코드를 생성 할 때

'핸들 매개 변수 또는 유형의 선택'페이지를

이가 보인다 '나쁜 값이 0이'을 유일한 문제지만 내가 어디로 잘못 가고 있는지 말할 수는 없습니다. 누구든지 여기에서 문제를 볼 수 있습니까?

{ 
    $qty = '1000'; 

//Open page once 
    $indoc = $p->open_pdi_document(APPLICATION_PATH.'/../library/pdfs/fc/FCMONARCHCKS_b.pdf', ""); 
    $page = $p->open_pdi_page($indoc, 1, ""); 
    $width = $p->pcos_get_number($indoc, "pages[0]/width"); 
    $height = $p->pcos_get_number($indoc, "pages[0]/height"); 
// Looping thru the start Numbers 
    for ($i = $qty; $i >= 0; $i--) { 
     if($i == $qty){ 
      $newNo1 = $this->orderData->check_number + $qty; 
     } 
     else 
     { 
     $newNo1 = $newNo1 - 1; 
    } 



     //Add page that was only opened once 
    $p->begin_page_ext($width, $height, ""); 
    $p->fit_pdi_page($page,0,0,""); 



    $checkNumber_micr = $newNo1; 

    if(strlen($checkNumber_micr) == '3') { 
    $newNumber = "00000".$checkNumber_micr; 
} elseif(strlen($checkNumber_micr) == '4') { 
    $newNumber = "0000".$checkNumber_micr; 
} elseif(strlen($checkNumber_micr) == '5') { 
    $newNumber = "000".$checkNumber_micr; 
} elseif(strlen($checkNumber_micr) == '6') { 
    $newNumber = "00".$checkNumber_micr; 
} elseif(strlen($checkNumber_micr) == '7') { 
    $newNumber = "0".$checkNumber_micr; 
} 

$check_number ="C".$newNumber."C"; 
$helper->addTextBlock('check_number_1', $check_number); 


$CN1 = $newNumber; 
$helper->addTextBlock('CN1', $CN1); 

$CN2 = $newNumber; 
$helper->addTextBlock('CN2', $CN2); 

$CN3 = $newNumber; 
$helper->addTextBlock('CN3', $CN3); 



$rep ="A121000248A"; 
$routing_number_1p = $rep; 
$helper->addTextBlock('routing_number_1', $routing_number_1p); 



$rep2 = "C 4124521923C"; 
$bank_number_1p = $rep2; 
$helper->addTextBlock('bank_account_1', $bank_number_1p); 

$p->end_page_ext(""); 

    } 
$p->close_pdi_page($inpage); 
} 

//Close Page Manually not using helper 
$p->end_document(""); 
$p->close_pdi_document($indoc); 
$p->delete(); 

답변

2

'핸들 매개 변수 또는 유형의 선택'페이지

이 후속 오류가 '나쁜 값이 0이'입니다. open_pdi_document()가 실패했지만 반환 값을 확인하지 않았습니다. 유효한 핸들이 아니므로 0 (오류)을 반환하므로 open_pdi_page() 이 실패했습니다. 문제를 해결하기 위해, 핸들

$indoc = $p->open_pdi_document(APPLICATION_PATH.'/../library/pdfs/fc/FCMONARCHCKS_b.pdf', ""); 
if ($indoc == 0){ 
    throw new Exception("Error: " . $p->get_errmsg()); 
} 
$page = $p->open_pdi_page($indoc, 1, ""); 
if ($page == 0){ 
    throw new Exception("Error: " . $p->get_errmsg()); 
} 

을 반환 API 호출의 반환 값

합니다 (PDFlib 패키지의 바인드/PHP 디렉토리에 포함 된 PDFlib 샘플도 참조)을 확인하시기 바랍니다

디버깅 중에 "errorpolicy = exception"을 설정할 수도 있습니다. 자세한 소개는 PDFlib 9.0.2 Tutorial, 3.1.1 장 "예외 처리"를 참조하십시오.

관련 문제