TCPDF를 사용하여 보고서 생성 솔루션을 구현하는 중입니다. 일부 보고서는 크기가 작고 (2-3 페이지), 한 번에 많은 보고서를 선택하고 모두 요청할 수 있습니다.TCPDF를 사용하여 큰 PDF를 만드는 가장 효율적인 방법은 무엇입니까?
현재 각 보고서가 새 페이지에서 시작하고 페이지 그룹화를 사용하여 각 보고서에 페이지 번호가 다시 시작되도록 모든 보고서를 포함하는 단일 PDF를 생성합니다. 작동하면 좋지만 너무 많은 보고서를 선택하면 코드가 사라져서 빈 PDF로 끝납니다.
업데이트 : 단일 PDF를 만드는 것은 클라이언트의 요구 사항입니다. 그들은 많은 PDF 보고서를 선택했을 때 단일 PDF 내의 보고서를 쉽게 전환 할 수있는 PDF 목차를 원합니다.
내 질문은 :
빈 PDF와 종료하지 않고이 PDF를 생성하는 가장 효율적인 방법은 무엇입니까? TCPDF가 처리 할 수있는 크기에 제한이 있는지 찾을 수 없습니다.
PHP에서 ob_start()를 사용해야합니까, 아니면 큰 문자열을 작성해야합니까?
내 보고서는 원래 HTML이므로 TCPDF를 보냈습니다. 그러나 다른 방법을 사용하여 정보 (예 : 셀, 다중 셀 등)를 사용하면 TCPDF의 성능이 향상 될까요?
다음은 PDF를 출력하는 코드입니다. 은 $ PDF 객체는 예 라이브러리에 포함 된 관련 TCPDF에 따라 설정 :
foreach ($students_info as $student_info) {
$info = $student_info->fetch_object(); // get query result object
// put in the student information
$pdf->set_student_info($info->lastName, $info->firstName, $info->rank, $info->idNum);
$pdf->startPageGroup(); // start a page group to handle paging for multiple students
$pdf->AddPage(); // add a page
$html = "<style>";
$html .= file_get_contents(/*some style sheet*/);
$html .= file_get_contents(/*some other style sheet*/);
$html .= "</style>";
$html .= start_report_div($i);
$html .= '<table class="report_table">'.
'<tbody>'.
'<tr><td>';
$html .= display_report_title($report);
$html .= display_student_info($db, $info);
$html .= display_academic_comments_body($db, $info->studentID, $info->sessionID);
$html .= display_signature_block($report);
$html .= '</td></tr>'.
'</tbody>'.
'</table>';
$html .= end_report_div();
$pdf->writeHTML($html, // the content
true, // put a newline after text
false, // paint background, false = transparent
true, // reset last cell height
false, // add left padding
'' // align
);
$html = ''; // reset for next student
$pdf->lastPage(); // pointer to last page in case we are doing more than one student
}
많은 작은 보고서를 생성하고 사용자가 모든 PDF 파일을 포함하는 다운로드 용 ZIP 파일을 생성합니다. –
유효한 아이디어이지만 클라이언트가 원하는 것은 아닙니다. 보고서에서 PDF로 목차가있는 보고서를 원할 경우 리포트에서 보고서로 쉽게 전환 할 수 있습니다 (학생 정보에서 학생 정보까지). –
왜 downvote? 내가 코멘트없이 downvote 싫어. –