2017-01-14 7 views
1

DOMPDF를 사용 중이고 양식 입력 텍스트를 PDF 형식으로 사용할 수있게하려고합니다. 그래서 입력 필드에 무언가를 입력하고 PDF로 내보내기를 누르면 거기에 있어야합니다. 그래서 내 솔루션을 계획하는 방법입니다. 이 문제는 입력 값을 업데이트하지 않기 때문에 HTML에서 POST로 PHP를 호출 할 때 나타납니다. 빈 칸만 보냅니다. 나는 그것을 바꿔 그것을 업데이트 할 필요가있다.JQuery 이후에 PHP 파일 호출

1) PHP 파일을 입력 4 값으로) HTML을 변경 호출하는 JQuery와 사용) PDF 3 내보내기를 클릭 텍스트 2)와 입력 필드에 입력 ($dompdf->loadHtml(file_get_contents('index.php'));

나는 위해 AJAX를 사용하여 시도 .이하지만 내가 PHP 파일에 데이터를 보낼 필요가 없습니다 작동하지 않습니다 난 그냥 JQuery와 HTML을 변경 한 후 경우에 호출 할 필요가

여기 내 PHP 파일입니다 :..

<?php 
require_once 'autoload.inc.php'; 
// reference the Dompdf namespace 
use Dompdf\Dompdf; 

// instantiate and use the dompdf class 
$dompdf = new Dompdf(); 
$dompdf->loadHtml(file_get_contents('index.php')); 
// (Optional) Setup the paper size and orientation 
$dompdf->setPaper('A4', 'landscape'); 

// Render the HTML as PDF 
$dompdf->render('doc.pdf'); 

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

?> 

제 JQUERY 파일

function ajax() { 
    alert('in'); 
$.ajax({ 
    url: 'jobsheet.php', 
    type: 'POST', 
    data: formData, 
    success:function(response){ 
     alert(response); 
    } 
}); 
} 

다른 해결책이 있다면 알려 주시기 바랍니다.

+0

PDF 생성 결과에서 어떤 것을 변경하려면 무언가를 보내야합니다. 그렇지 않으면 이전에 제공된 정보 만 사용됩니다. 아약스 호출이나 양식 제출 없이는 클라이언트에서 서버로 제출할 수 없습니다. 적어도 내가 할 수있는 방법을 알고있는 것은 아닙니다. – Chris

+0

Dompdf에서 콘텐츠를 표시하는 방법을 이해할 수 없지만 데이터를 보내지는 않습니까? 그 점을 분명히해야 할 수도 있습니다. 브라우저에서 수정 한 HTML 문서를 렌더링한다고 하시겠습니까? – BrianS

답변

0

기술에 두 가지 문제점이 있습니다.

먼저 Dompdf (0.6.1 기준)는 PHP를 구문 분석하지 않으므로 dompdf로 전달하기 전에 미리 구문 분석해야합니다. 다음을 위해 출력 버퍼링을 사용할 수 있습니다.

<?php 
ob_start(); 
require_once 'index.php'; 
$html = ob_get_clean(); 
ob_end_clean(); 

require_once 'autoload.inc.php'; 
use Dompdf\Dompdf; 
$dompdf = new Dompdf(); 
$dompdf->loadHtml($html); 
$dompdf->setPaper('A4', 'landscape'); 
$dompdf->render(); 
$dompdf->stream(); 
?> 

두 번째로, 결과를 표시하려면 왜 AJAX를 사용해야합니까? 단순히 양식 게시를 사용할 수있을 때 PDF 문서를 가져와 표시하는 데 훨씬 많은 작업이 필요합니다. AJAX 사용에 대한 특별한 필요성이있는 경우 지정해야합니다.