Доброго всем времени суток!
Есть проблема и заключается она в этом:
1) Нужно создавать pdf файл для счета, создаю при помощи tcpdf
2) Все нормально работает на пробной странице, но когда подключаю себе на сайт, то мне выдает сообщение
Цитата |
TCPDF ERROR: Some data has already been output, can't send PDF file |
if($_POST['face'] == 2 and $_POST['payment'] == 2)
{
$checkout = true;
include SPH_ROOT.'skins/tpl/checkout/pdf.php';
}
<?php
if(!defined('SPH_KEY'))
{
header("HTTP/1.1 404 Not Found");
exit(file_get_contents('../../404.html'));
}
require_once 'tcpdf/tcpdf.php'; // Подключаем библиотеку
/* Создаём объект TCPDF.
- Книжная ориентация
- Единица измерения - миллиметры
- Формат А4
- Использование unicode
- Кодировка - UTF-8
*/
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8');
/* Установка отступов
- 20 слева
- 30 справа
- 20 сверху
*/
$pdf->SetFont('dejavusans', '', 10);
$pdf->AddPage(); // Добавляем страницу
$pdf->SetXY(0, 0);
$html = '
<style>
.account_number{text-align:center; font-size:16pt; margin-bottom:2px;}
.table_product tr td{text-align:left; border:1px solid #000; border-collapse:collapse;}
.table_intotal{margin-top:10px;}
.table_intotal tr td{text-align:right;}
.table_intotal tr td p{font-weight:700;}
</style>
<div class="recipient_data">
</div>
<div style=" border-bottom:1px solid #000;">
<span class="account_number">Счет №100500 от 27 марта 2012г.</span>
</div>
<div></div>
<table class="supplier_buyer">
<tr>
<td width="15%">
<span>Поставщик:</span>
</td>
<td width="85%">
<span>ИП Доброхвалов А. А., ИНН 645100518975, 410012, Саратовская обл, Саратов г, Московская ул, дом № 96, кв.6, тел.: ф. 47-96-08</span>
</td>
</tr>
<tr>
<td width="15%">
<span>Покупатель:</span>
</td>
<td width="85%">
<span>'.$_POST['name_comp'].', ИНН '.$_POST['inn'].', КПП '.$_POST['kpp'].', '.$_POST['address'].', тел.: '.$_POST['tel_number'].'</span>
</td>
</tr>
</table>
<div></div>
<table class="table_product">
<tr>
<td width="55%" align="center">
<span>Товары (работы, услуги)</span>
</td>
<td width="10%" align="center">
<span>Кол-во</span>
</td>
<td width="5%" align="center">
<span>Ед.</span>
</td>
<td width="15%" align="center">
<span>Цена</span>
</td>
<td width="15%" align="center">
<span>Сумма</span>
</td>
</tr>';
foreach($_SESSION['product'] as $key=>$val)
{
$query = mysqlQuery('SELECT * FROM '.SPH_DBPREFIX.'product where `article` = "'.$key.'"');
$row = mysql_fetch_assoc($query);
echo'
<tr>
<td>
<span>'.$row['name'].'</span>
</td>
<td align="right">
<span>'.$val['size'].'</span>
</td>
<td align="left">
<span>шт</span>
</td>
<td align="right">
<span>'.$row['price_retail'].'</span>
</td>
<td align="right">
<span>'.$val['size']*$row['price_retail'].'</span>
</td>
</tr>
';
}
echo '</table>
<div><div>
<table class="table_intotal">
<tr>
<td style="width:80%;" align="right">
<span>Итого:'.product_in_total($_SESSION['product']) - discount_total('').'</span><br />
<span>В том числе НДС:</span><br />
<span>Всего к оплате:</span><br />
</td>
<td style="width:20%;" align="right">
<span>2155.5022222222</span><br />
<span>328.80</span><br />
<span>2155.50</span><br />
</td>
</tr>
</table>
<span>Всего наименований 4, на сумму 2 155,50 руб</span><br />
<span>Две тысячи сто пявпы</span>
<hr />
';
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->Output('test.pdf', 'D');
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
Цитата |
$pdf->Output('test.pdf', 'D'); |
$pdf->Output($_SERVER['DOCUMENT_ROOT'].'test.pdf', 'D');
Цитата |
Fros, возможно где-то допустили пробел в коде страницы (или перенос строк). Возможно до тега . Скорее всего после. Посмотрите исходный код сгенерированной страницы. |
Цитата |
вот нашёл коммент на эту ошибку |
<?php
if(!defined('SPH_KEY'))
{
header("HTTP/1.1 404 Not Found");
exit(file_get_contents('../../404.html'));
}
require_once 'tcpdf/tcpdf.php'; // Подключаем библиотеку
/* Создаём объект TCPDF.
- Книжная ориентация
- Единица измерения - миллиметры
- Формат А4
- Использование unicode
- Кодировка - UTF-8
*/
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8');
/* Установка отступов
- 20 слева
- 30 справа
- 20 сверху
*/
$pdf->SetFont('dejavusans', '', 10);
$pdf->AddPage(); // Добавляем страницу
$pdf->SetXY(0, 0);
$html = '<style>
.account_number{text-align:center; font-size:16pt; margin-bottom:2px;}
.table_product tr td{text-align:left; border:1px solid #000; border-collapse:collapse;}
.table_intotal{margin-top:10px;}
.table_intotal tr td{text-align:right;}
.table_intotal tr td p{font-weight:700;}
</style>
<div class="recipient_data">
</div>
<div style=" border-bottom:1px solid #000;">
<span class="account_number">Счет №100500 от 27 марта 2012г.</span>
</div>
<div></div>
<table class="supplier_buyer">
<tr>
<td width="15%">
<span>Поставщик:</span>
</td>
<td width="85%">
<span>ИП Доброхвалов А. А., ИНН 645100518975, 410012, Саратовская обл, Саратов г, Московская ул, дом № 96, кв.6, тел.: ф. 47-96-08</span>
</td>
</tr>
<tr>
<td width="15%">
<span>Покупатель:</span>
</td>
<td width="85%">
<span>'.$_POST['name_comp'].', ИНН '.$_POST['inn'].', КПП '.$_POST['kpp'].', '.$_POST['address'].', тел.: '.$_POST['tel_number'].'</span>
</td>
</tr>
</table>
<div></div>
<table class="table_product">
<tr>
<td width="55%" align="center">
<span>Товары (работы, услуги)</span>
</td>
<td width="10%" align="center">
<span>Кол-во</span>
</td>
<td width="5%" align="center">
<span>Ед.</span>
</td>
<td width="15%" align="center">
<span>Цена</span>
</td>
<td width="15%" align="center">
<span>Сумма</span>
</td>
</tr>';
foreach($_SESSION['product'] as $key=>$val)
{
$query = mysqlQuery('SELECT * FROM '.SPH_DBPREFIX.'product where `article` = "'.$key.'"');
$row = mysql_fetch_assoc($query);
echo'<tr>
<td>
<span>'.$row['name'].'</span>
</td>
<td align="right">
<span>'.$val['size'].'</span>
</td>
<td align="left">
<span>шт</span>
</td>
<td align="right">
<span>'.$row['price_retail'].'</span>
</td>
<td align="right">
<span>'.$val['size']*$row['price_retail'].'</span>
</td>
</tr>';
}
echo '</table>
<div><div>
<table class="table_intotal">
<tr>
<td style="width:80%;" align="right">
<span>Итого:'.product_in_total($_SESSION['product']) - discount_total('').'</span><br />
<span>В том числе НДС:</span><br />
<span>Всего к оплате:</span><br />
</td>
<td style="width:20%;" align="right">
<span>2155.5022222222</span><br />
<span>328.80</span><br />
<span>2155.50</span><br />
</td>
</tr>
</table>
<span>Всего наименований 4, на сумму 2 155,50 руб</span><br />
<span>Две тысячи сто пявпы</span>
<hr />';
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->Output('test.pdf', 'D');
Цитата |
в пустой индекс и все работает |