0
我在cakephp 1.3應用程序中使用dompdf 0.6.0 beta 3作爲供應商。我的服務器的PHP版本是5.2。我作爲附件生成的pdf包含使用html助手生成的表格,並且在頭文件中聲明瞭css。Dompdf與表pdf包含錯誤
我有一個很奇怪的問題。通常,生成的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生成」是不夠的信息,任何人都可以幫助你:)嘗試把一些例子。 – 2012-02-26 12:19:15
對不起,在這裏你會發現一個損壞的PDF文件的兩個屏幕截圖。首先,文件的第一部分不應該有空白頁:[見這裏](http://www.lacompta.ch/MITIC/Images/Capture3.PNG)。然後,直到結束(第18行錯過一個單元格)表纔會呈現表格。並且下面應該有另一個表格:[see here](http://www.lacompta.ch/MITIC/Images/Capture4.PNG) – Vestrep 2012-02-26 13:18:28
那麼每次文檔都完全一樣?這可能有助於看到一個給你帶來問題的HTML示例。而且,即使沒有致命的錯誤,也可能會有某種其他問題影響輸出。 – BrianS 2012-02-26 17:53:53