私はcakephp 1.3アプリケーションでdompdf 0.6.0 beta 3をベンダーとして使用しています。私のサーバのphpバージョンは5.2です。添付ファイルとして生成するpdfには、htmlヘルパーで生成されたテーブルが含まれ、cssはヘッダーで宣言されています。テーブルpdf付きのDompdfにエラーがあります
私は非常に奇妙な問題があります。通常、生成されたpdfには問題はありませんが、生成されたpdfの約10%にファイルにエラーが含まれ、部分的にレンダリングされます。致命的なエラーはありませんが、何らかの形でpdfの生成は正しくありません。見知らぬ人でも、Session変数でPHPコードがとるのとまったく同じデータで発生します。そのため、同じデータが問題なく生成されることがあり(ケースの90%)、時には問題があります。
問題が何であるかについての手掛かりがある場合は、ありがとうございます。
ここにpdfを生成するコードを示します。 (Journalは私が作成したヘルパーで、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ファイルの2つのスクリーンショットを見つけるでしょう。まず、ファイルの最初の部分に空白のページはありません。[ここをクリック](http://www.lacompta.ch/MITIC/Images/Capture3.PNG)。その後、テーブルは最後まで表示されません(行18は1つのセルが欠落します)。そして、この下に別のテーブルがあるはずです:[ここをクリック](http://www.lacompta.ch/MITIC/Images/Capture4.PNG) – Vestrep
文書はいつもまったく同じですか?あなたに問題をもたらしているHTMLのサンプルを見るのに役立つかもしれません。また、致命的なエラーはありませんが、出力に影響する何らかの問題があります。 – BrianS