Я в замешательстве.
Я пытаюсь экспортировать html-страницу с помощью MPDF. я вижу примеры, и как их использовать, вот так:
<?php
$html = '
<h1><a name="top"></a>mPDF</h1>
<p>P: Nulla felis erat, imperdiet eu, ullamcorper non, nonummy quis, elit. Suspendisse potenti. Ut a eros at ligula vehicula pretium. Maecenas feugiat pede vel risus. Nulla et lectus. </p>';
include("../mpdf.php");
$mpdf=new mPDF();
$mpdf->WriteHTML($html);
$mpdf->Output();
exit;
?>
Итак, мне нужно поместить html-код в переменную, тогда класс mpdf сгенерирует файл pdf.
У меня такая проблема:
Я хочу распечатать страницу, которая динамически генерируется с помощью php после отправки формы пользователем. Это страница отчета. Пользователь выбирает определенный период времени, который он хочет, на странице будет показан отчет.
Итак, я должен получить сгенерированный html-код после того, как пользователь отправит форму. Я использую ob_get_contents()
для этого, а затем отправляю его с формой на страницу php, на которой есть сценарий mpdf выше, скажем, pdf.php.
Вот мой код в pdf.php:
<?php
include("../mpdf.php");
$mpdf=new mPDF();
$htmlx = "$_POST[htmlx]";
$mpdf->WriteHTML($htmlx);
$mpdf->Output();
exit;
?>
pdf создан, но он не отображается правильно, как должен (созданный pdf не отображает html-страницу правильно).
я думаю, что, возможно, сгенерированный HTML-код неверен, и mpdf не понимает HTML-код. поэтому я пытаюсь так:
Я попытался скопировать сгенерированный html-код и создать php-страницу, как в приведенном выше примере. Сгенерированный PDF-файл правильно отображает страницу!
Я не понимаю, почему это могло произойти. Может быть, я не могу отправить html-код через форму в php?
Я извиняюсь за мой плохой английский. Я надеюсь, что вы можете понять мою проблему и помочь мне решить ее. Спасибо.
РЕДАКТИРОВАТЬ:
Вот моя форма для отправки html-кода:
<?php
$html = ob_get_contents();
$html = str_replace('"','\"',$html);
?>
<form action="pdf.php" method="POST" enctype="multipart/form-data">
<input type="submit" value="Print to PDF">
<textarea name="htmlx" style="display:; width: 100%; height:300px;" readonly><?= $html ?></textarea>
</form>
РЕДАКТИРОВАТЬ
это пример моего сгенерированного html:
<style>
*{
font-family: arial;
}
body{
background: #fff;
}
table#myTable{
border:solid 7px #eee;
-moz-border-radius: 7px;
-webkit-border-radius: 7px;
-khtml-border-radius: 7px;
border-radius: 7px;
behavior: url(/files/border-radius.htc);
}
#myTable th{
font: normal 11pt 'century gothic';
cursor:pointer;
background: #ccc;
padding: 8px 15px 8px 15px;
color:#000
}
#myTable th.header {
padding: 8px 15px 8px 15px;
background: #eee;
cursor: pointer;
font-weight: bold;
background-repeat: no-repeat;
background-position: center right;
padding-right: 20px;
margin-left: -1px;
color:#fff
}
#myTable th.headerSortUp {
background-image: url(/template/default/images/asc.gif);
background-color: #eee;
color:#fff
}
#myTable th.headerSortDown {
background-image: url(/template/default/images/desc.gif);
background-color: #eee;
color:#fff
}
#myTable tr {
border:solid 1px #3e6189;
}
#myTable td {
background:#f9f9f9;
padding: 8px 15px 8px 15px;
border:solid 1px #f0f0f0;
font-size: 9pt
}
@media print
{
.blabla{
display:none;
}
}
</style>
</head>
<body>
<script>
function printPage() { print(); }
</script>
<table cellpadding="3" cellspacing="1" border="0" width="100%" id="myTable">
<tr class="bgTransUng25">
<th width="5">No</th>
<th width="70">Pembelian</th>
<th width="100">Oleh</th>
<th width="70">Tanggal</th>
<th width="">Detail Pembelian</th>
<th width="70">Paket Pengiriman</th>
</tr>
<tr class="bgTransWht71" align="center">
<td align="right">1.</td>
<td>00122</td>
<td>Iko Uwais</td>
<td align="right">2 Jul 2012</td>
<td>
<table cellpadding="3" cellspacing="1" border="0" width="100%">
<tr class="bgTransWht25" align="center">
<td align="left">Kaos BW 9500 003</td>
<td align="right" width="70">3 pcs</td>
<td width="100"><div style="text-align:left">Rp.<div style="float:right; text-align:right">285.000</div></div></td>
</tr>
<tr class="bgTransWht25" align="center">
<td align="left">Kaos BW 9500 003</td>
<td align="right" width="70">7 pcs</td>
<td width="100"><div style="text-align:left">Rp.<div style="float:right; text-align:right">665.000</div></div></td>
</tr>
<tr class="bgTransWht25" align="center">
//and so on...
$html
есть сгенерированный html-код, он сработал. макет отображается правильно. - person Tikas Mamed   schedule 26.08.2012