cakephp 1.3 응용 프로그램에서 dompdf 0.6.0 beta 3을 사용하고 있습니다. 내 서버의 PHP 버전은 5.2입니다. 첨부 파일로 생성하는 pdf는 html 도우미로 생성 된 테이블을 포함하며 CSS는 헤더에 선언되어 있습니다.테이블 pdf가있는 Dompdf에 오류가 있습니다.
나는 매우 이상한 문제가 있습니다. 일반적으로 생성 된 PDF에는 문제가 없지만 생성 된 pdf의 약 10 %에서 파일에 오류가 포함되어 부분적으로 만 렌더링됩니다. 치명적인 오류는 없지만 pdf 생성이 올바르지 않습니다. 낯선 사람이라도 PHP 코드가 세션 변수에서 취하는 것과 정확히 같은 데이터로 발생합니다. 따라서 동일한 데이터가 어떤 경우에도 문제없이 생성되며 (경우의 90 %에서) 때로는 문제가 있습니다.
문제가 무엇인지에 대한 단서가 있다면 고맙습니다.
다음은 pdf를 생성하는 코드입니다. (저널은 내가 만든 도우미이고 Journal :: journalCheck 함수는 테이블을 출력합니다)
$html =
'<html xmlns="http://www.w3.org/1999/xhtml">'.
'<head>'.
$this->Html->charset().
'<style>
ul{
margin: 0px;
}
.enonces p{
margin:0px;
}
table{
border-collapse: collapse;
width:100%;
margin-bottom: 25px;
}
table.legende{
width:25%;
}
td{
border: 1px solid black;
}
th{
border: 1px solid black;
background-color: #96ed88;
}
.noEcriture{
width:5%;
}
.nomCompte{
width:15%;
}
.montantCompte{
width: 10%;
text-align: right;
}
.libelle{
width: 45%;
min-width: 65px;
}
.faux{
color: red;
text-decoration:line-through;
}
.ecriture_fausse{
background-color: pink;
}
td.correction_cell{
background-color: #daafe7;
}
.consigne{
font-style:italic;
}
.enonces{
border: 1px solid black;
margin-bottom: 20px;
}
</style>'.
'</head>'.
'<body>'.
'<h1>'.
$exercice[0]['Exercice']['nom'].
'</h1>'.
'<h3>'.
'Exercice réalisé par '.$session->read('eleve.Exercice.prenom').' '.$session->read('eleve.Exercice.nom_famille').
' - version '.$session->read('exercice.'.$this->params['pass'][0].'version').
' - '.date('d/m/Y').
'</h3>'.
'<p class="consigne">'.
$this->Journal->showConsigne($exercice[0]['Exercice']['consigne'],$raw = true).
'</p>'.
'<div class="enonces">'.
$this->Journal->viewEnonce($enonces).
'</div>'.
$this->Journal->journalCheck($datas,$correct_datas,$ecriture_ids,$compte_ids,array('pdf'=>true)).
'<p>'.
'Légende:'.
'</p>'.
'<table class="legende">'.
$this->Html->tableCells(array(array('écriture juste'),
array(array('écriture fausse',array('class'=>'ecriture_fausse'))),
array(array('corrigé',array('class'=>'correction_cell'))))
).
'</table>'.
'<p>'.
'Source: <a href="'.$_SERVER['HTTP_HOST']."/".basename(ROOT)."/"."exercices/complete/".$this->params['pass'][0].'">'.
$_SERVER['HTTP_HOST']."/".basename(ROOT)."/"."exercices/complete/".$this->params['pass'][0].'</a>'.
'</p>'.
'</body>'.
'</html>';
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("Journalizer_".$exercice[0]['Exercice']['nom']."_".$session->read('eleve.Exercice.nom_famille')."_".$session->read('eleve.Exercice.prenom')."_v".$session->read('exercice.'.$this->params['pass'][0].'version').".pdf", array("Attachment" => 1));
"어떻게 든 PDF 생성"은 누구에게나 도움이되는 정보가 아닙니다. 몇 가지 예를 들어보십시오. –
죄송합니다. 손상된 PDF 파일이 두 장의 스크린 샷으로 나옵니다. 첫째, 파일의 첫 번째 부분에 빈 페이지가 없어야합니다. [여기를 참고하십시오] (http://www.lacompta.ch/MITIC/Images/Capture3.PNG). 그런 다음 테이블은 끝날 때까지 렌더링되지 않습니다 (줄 18은 한 셀을 찾지 못합니다). 그리고이 아래에 또 다른 테이블이 있어야합니다 : [여기를보십시오] (http://www.lacompta.ch/MITIC/Images/Capture4.PNG) – Vestrep
문서가 매번 정확히 동일합니까? 문제를 일으키는 HTML 샘플을 보는 것이 도움이 될 수 있습니다. 또한 치명적 오류는 없지만 출력에 영향을 미치는 다른 문제가있을 수 있습니다. – BrianS