페이지에서 동적으로 생성 된 데이터에서 PDF를 작성해야하는 스크립트 작업을하고 있습니다. 몇 가지 조사를 한 후 domPDF를 사용하기로 결정했습니다. 현재 CodeIgniter를 프레임 워크로 사용하므로이 코드는 tutorial입니다. 이 튜토리얼에서 컨트롤러에 대한 다음 코드 세트를 얻었습니다.domPDF로 동적 PHP 변수 출력 처리
컨트롤러 : dompdf_test.php -로드 된보기를 기반으로 실제 PDF를 생성하는 데 사용됩니다.
class Dompdf_test extends CI_Controller {
public function index() {
// Load all views as normal
$this->load->view('summary/index');
// Get output html
$html = $this->output->get_output();
// Load library
$this->load->library('dompdf_gen');
// Convert to PDF
$this->dompdf->load_html($html);
$this->dompdf->render();
$this->dompdf->stream("SavedData.pdf");
}
}
컨트롤러 : - dompdf_view.php이 PDF로
class Dompdf_view extends CI_Controller {
public function index()
{
$this->load->view('summary/index');
}
}
라이브러리 변환됩니다 액세스 할 단지 페이지입니다 : dompdf_gen.php를 - 응용 프로그램에 위치한/라이브러리
class Dompdf_gen {
public function __construct() {
require_once APPPATH.'third_party/dompdf/dompdf_config.inc.php'; //this is where the whole dompdf plugin is located
$pdf = new DOMPDF();
$CI =& get_instance();
$CI->dompdf = $pdf;
}
}
여기까지입니다. PDF로 변환하려는 페이지는 사용자가 조작하는 데이터를 생성합니다. 생성 된 데이터는 데이터베이스가 아닌 사용자가 선택한 것을 기반으로합니다. 예를 들어 사용자가 성별로 여성을 선택했습니다. "여성"단어가 요약 탭에 추가됩니다 (동일한 페이지에 있음). 요약 탭의 모든 데이터는 pdf 파일에 포함됩니다. 그 페이지는 pdf 저장을 위해 많은 관련이없는 데이터를 포함하고 있기 때문에 domPDF는 일부 CSS 구문을 지원하지 않기 때문에 (그 데이터가 다른 PHP 파일로 전달되었다고 생각했습니다. 그 파일에서 전달 된 데이터는 간단한 PDF 템플릿 테이블의 기초가 될 것입니다.
이제 문제가 있습니다. 데이터를 전달할 때이 매우 간단한 code을 사용했습니다.
보기 : summary/sourceData.php - 데이터를 입력해야하는 샘플 페이지. 입력 된 모든 데이터는 요약/색인보기로 전달됩니다.
<form method="post" action="http://siteURL/dompdf_view"> //dompdf_view is simply the summary/index page
<input type="text" name="name0" placeholder="Add text"/><br/>
<input type="text" name="name1" placeholder="Add text"/><br/>
<input type="text" name="name2" placeholder="Add text"/><br/>
<input type="text" name="name3" placeholder="Add text"/><br/>
<input type="text" name="name4" placeholder="Add text"/><br/>
<input type="submit" name="submit" value="Pass Variable"/>
</form>
요약/index.php - 데이터가 전달되는 곳입니다. 요약에서
<?php
$name0 = isset($_POST['name0']) ? $_POST['name0'] : "";
$name1 = isset($_POST['name1']) ? $_POST['name1'] : "";
$name2 = isset($_POST['name2']) ? $_POST['name2'] : "";
$name3 = isset($_POST['name3']) ? $_POST['name3'] : "";
$name4 = isset($_POST['name4']) ? $_POST['name4'] : "";
echo $name0.'<br/><br/>';
echo $name1.'<br/><br/>';
echo $name2.'<br/><br/>';
echo $name3.'<br/><br/>';
echo $name4.'<br/><br/>';
?>
<a href="<http://siteURL/dompdf_test>">Save as PDF</a>
데이터/sourceData.php는 요약/index.php에 전달됩니다하지만 PDF로의 index.php/요약을 저장하려고하면, 그것은 저장하지만 데이터를 얻을하지 않습니다. PDF로 저장이라는 단어를 제외하고는 그냥 공백 PDF 문서입니다.
나는 연구했지만 추가는했지만 여전히 운이 없었습니다.
domPDF가 PHP 에코 파일을 읽을 수 없습니까? 그렇지 않다면, 어떻게?
나는 데이터를 pdf로 저장할 수있는 방법을 아직 모릅니다. 또는 데이터를 전달할 다른 방법이 있습니까?
참고 : 페이지가 정적 인 경우 위 코드가 작동합니다. 그러나 동적 데이터를 추가 할 때 PDF 파일 내의 해당 페이지에서 PHP 결과를 읽지 않습니다.
모든 도움/조언을 부탁드립니다.
넘겨 줄 수 있도록 코드를 게시하십시오. 행 번호 8에 잘못 배열을 사용하는 것처럼 보입니다. – Skewled
안녕하세요. 죄송합니다. 사과드립니다. 나는 그 질문을 편집했다. – novice
Save as PDF이 코드는 어디에 있습니까? action.php가 데이터를 처리하고 있거나 action.php에서 새 페이지로 데이터를 전달하고 있습니까? 내가 코드를 볼 실제 코드를 만들 domPDF와 함께 ... – Skewled