2017-12-27 12 views
0

내 플러그인에 저장하려고합니다. 그러나 pdf 기능으로 저장 파일을 만들려고하는데, 여전히 얻고 있습니다. 입니다.pdf : 워드 프레스를 사용할 때 이미 전송 된 헤더를

몇 가지 조사를했는데 솔루션이 작동하지 않습니다. 또한 답변 중 하나로서 exit()을 사용했지만 작동하지 않습니다.

여기에 내 현재 코드

입니다
include(WPtest_PLUGIN_PATH.'/admin/includes/dompdf/lib/html5lib/Parser.php'); 
include(WPtest_PLUGIN_PATH.'/admin/includes/dompdf/lib/php-font-lib/src/FontLib/Autoloader.php'); 
include(WPtest_PLUGIN_PATH.'/admin/includes/dompdf/lib/php-svg-lib/src/autoload.php'); 
include(WPtest_PLUGIN_PATH.'/admin/includes/dompdf/src/Autoloader.php'); 
Dompdf\Autoloader::register(); 

use Dompdf\Dompdf; 

class WPtest_Save_PDF{ 

    //use Dompdf\Dompdf; 
    function __construct(){ 
     add_shortcode('save_me',array($this,'print_callback')); 
    }  


    function print_callback(){ 

     if(isset($_GET['print'])) 
     { 


      $dompdf = new Dompdf(); 

      $dompdf->loadHtml("test"); 

      // (Optional) Setup the paper size and orientation 
      $dompdf->setPaper('A4', 'landscape'); 

      // Render the HTML as PDF 
      $dompdf->render(); 

      // Output the generated PDF to Browser 
      $dompdf->stream(); 

      exit(); 
     } 

    } 
} 

new WPtest_Save_PDF; 
+0

pdf 생성 코드를 admin_init에 연결해 볼 수 있습니까? –

+0

add_shorcode를 올바르게 대체 하시겠습니까? add action? –

+0

예. 제발 시도해주세요 –

답변

1

당신의 워드 프레스가 이미 브라우저에 일부 데이터를 전송하고, 데이터를 보낼 때, 헤더뿐만 아니라 전송됩니다.

버퍼 (ob_start, ob_end_flush, ...)를 사용하는 것이 좋겠지 만 일반적인 경우에 적용 할 수 있는지 여부는 귀하의 경우에 알기 힘듭니다. 실제로는 워드 프레스 구조로 작업하지 않습니다.

+0

나는 'ob_start','ob_get_content','ob_end_clean'을 사용하여 그것을 시도했습니다. –