[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Счет на печать
freed-master
Вобщем нужно выводить на печать счет для оплаты заказанных товаров (реквизиты, перечень товаров, счет пропиью и т.п.)

Подскажите, может есть готовые решения или как лучше это осуществить?

Хорошобы через excel...



Спустя 57 минут, 31 секунда (22.05.2009 - 23:13) jetistyum написал(а):
формируешь страничку на html с форматированием таким, как тебе нужно, и печатаешь... или как вариант использование дополнительной таблицы стилей для принтера.

Спустя 9 часов, 12 минут, 32 секунды (23.05.2009 - 08:26) freed-master написал(а):
В принципе я так и делал, но никак не могу разобраться как отключить то что печатается вверху и внизу (страница, дата и т.п.)

Спустя 1 час, 5 минут, 30 секунд (23.05.2009 - 09:31) KamSocial.ru написал(а):
Но ведь не у всех есть краска в принтере...поэтому я решил отправлять счёт на мыло...но только решил, пока не дошло как его отправить.
Вот у меня есть файл form_mail.php там шаблон счёта, и скриптом я генерирую этот шаблон и вывожу его на экран в готовом виде со всеми данными (почти), но не знаю как этот сгенерированный шаблон отправить на мыло...что делать с этим form_mail.php???
Я вот здесь рассписал код, но пока никто не ответил...а предзащита уже в понедельник !!!
Помогите пожалуйста!

Спустя 1 час, 9 минут, 19 секунд (23.05.2009 - 10:41) glock18 написал(а):
2 KamSocial.ru:

1. Получаешь сгенерированное содержимое в переменную.
2. Устанавливаешь ее в тело письма.

Остальное как обычно - выставляешь какие нужно хедеры. Отправляешь.

Касательно 1 пункта.

Если у тебя нет такой возможности напрямую, типа:
PHP
$var compile_tpl($path);

а есть возможность только выводить, то можно сделать так:

PHP
ob_start();
process_template($path);
$var ob_get_contents();
ob_clean();

Спустя 52 минуты, 19 секунд (23.05.2009 - 11:33) KamSocial.ru написал(а):
glock18 не совсем понял... о_О
у меня ошибка:

Код
Fatal error: Call to undefined function compile_tpl() in Z:\home\sim\shops\index.php on line 114


PHP
$contents compile_tpl('form_mail.php');

Спустя 6 минут, 39 секунд (23.05.2009 - 11:40) freed-master написал(а):
Цитата
Но ведь не у всех есть краска в принтере...поэтому я решил отправлять счёт на мыло...но только решил, пока не дошло как его отправить.

На мыло это само собой, а распечатоть по желанию пользователя.

И все таки, кто-нибудь знает как убрать дату, адрес и пр.?

Спустя 1 минута, 34 секунды (23.05.2009 - 11:41) Kuliev написал(а):
KamSocial.ru
Переведи ошибку и все поймешь.

Спустя 7 минут, 17 секунд (23.05.2009 - 11:49) KamSocial.ru написал(а):
Цитата
Переведи ошибку и все поймешь.

Да я понял...но не вижу решения


Спустя 2 часа, 31 минута, 55 секунд (23.05.2009 - 14:20) freed-master написал(а):
И все таки, кто-нибудь знает как убрать дату, адрес и пр.?

Спустя 5 минут, 52 секунды (23.05.2009 - 14:26) waldicom написал(а):
Сам искал такую фичу - не нашел. Если решишь проблему - буду рад услышать решение.

Спустя 1 час, 35 минут, 16 секунд (23.05.2009 - 16:02) jetistyum написал(а):
дату и прочую ерунду пихает в лист браузер, не факт, что это отключается.
как вариант - либо печатать с датой, либо в настройках печати браузера отключить добавление этого всего в настройках печати браузера
сто лет назад в IE я как-то это делал, кажется..
Печать - предварительный просмотр - отключение колонтитулов...
но это в своем брозере отключить можно, а как (*и можно ли) сделать на уровне скрипта для всех браузеров - не знаю sad.gif
когда я заказывал книги в инет магазе, мне приходил счет в Excel файле.
может поискать либу какую ....
или еще проще - генерить счет в pdf.
А по большому счету - какая разница будет ли на счете этот колонтитул.. его один хрен примут в банке к оплате, там же реквизиты все есть..

Спустя 44 минуты, 9 секунд (23.05.2009 - 16:46) glock18 написал(а):
Цитата
Да я понял...но не вижу решения


Ну вообще то это была абстрактная функция. Прочитай сообщение повнимательней. Ты сказал, что у тебя какой-то шаблон. То есть логично предположить, что у тебя есть и шаблонизатор. Так вот если шаблонизатор тебе может вернуть содержимое шаблона, а не отправить на вывод, то можешь использовать 1 способ. Если он не умеет, то можешь сделать так же как делаешь сейчас. Только перед началом вывода шаблона вставь
PHP
ob_start();


После вывода

PHP
$var ob_get_contents();
ob_clean();


Дальше куда хочешь можешь передавать $var - там будет лежать сгенеренный html шаблона.

Спустя 7 часов, 28 минут, 56 секунд (24.05.2009 - 00:15) KamSocial.ru написал(а):
glock18, спасибо, я уже так и сделал, и всё заработало!

Спустя 1 день, 20 часов, 2 минуты, 9 секунд (25.05.2009 - 20:17) freed-master написал(а):
Цитата
или еще проще - генерить счет в pdf

А поподробней если можно?

Спустя 2 часа, 8 минут, 15 секунд (25.05.2009 - 22:25) jetistyum написал(а):
Цитата (freed-master @ 25.05.2009 - 20:17)
А поподробней если можно?

А ты пробовал сам поискать поподробнее???? это ведь не новая тема.....

Есть куча функций и библиотек, дабы создавать pdf файлы средствами php
мануалы, квикстарты и прочую ерунду я не буду тут приводить, думаю ты все это без труда найдешь в гугле.

Спустя 1 час, 2 минуты, 1 секунда (25.05.2009 - 23:27) freed-master написал(а):
Да, я конечно пробовал сам поискать и что-то даже нашел, только вот никак не разбирусь.

Нашел я статейку одну - Создание PDF-документов посредством PHP и FPDF

Скачал все необходимое, скопировал куда следует, создал документик с указанным кодом (кое что удалил, но может еще что-то лишнее осталось?):
Код
<?php
if (empty($name))        $name = "Марфа";
if (empty($familia))     $familia = "Ивановна";
if (empty($second_name)) $second_name = "Васильевна";
if (empty($city))        $city = "город КОЛОКОЛАМСК";
if (empty($foto))        $foto = "foto.jpg"; // фото посетителя
if (empty($barcode))     $barcode = "barcode.png"; // изображение штрих-кода
require('../fpdf/fpdf.php');
$pdf=new FPDF();
$pdf->AddFont('Arial Black','B','aribold.php');
$pdf->AddFont('Arial','','arial.php');
$pdf->AddPage();
$width = 83;
$height = 103;
$field = 5;
$pdf->Rect($field, $field, $width+$field, $height+$field);
$pdf->SetFillColor(158,157,56);
$pdf->Rect(5.3, 5.3, $width+4.4,19, "F");
$pdf->SetFillColor(157,158,162);
$pdf->Rect(5.4, 24.5, $width+4.4, 8,"F");
$pdf->Image("line.jpg",6,45,$width +2,1);
$pdf->Image("line.jpg",6,52,$width +2,1);
$pdf->Image("line.jpg",6,59,$width +2,1);
$pdf->Image("frame.jpg",8,68,38,42);
if (!empty($foto)) $pdf->Image($foto,15,69,30,40);
$pdf->SetFont('Arial Black','B',32);
$wd1 = $pdf->GetStringWidth($name);
$x1 = ($width - $wd1)/2 + 5;
$pdf->SetTextColor(255,255,255);
$pdf->Text($x1,19,$name);
$pdf->SetFont('Arial','',18);
$wd2 = $pdf->GetStringWidth($second_name);
$x2 = ($width - $wd2)/2 + $field;
$pdf->SetXY($x2,25);
$pdf->Cell($wd2,8, $second_name);
$pdf->SetFont('Arial Black','B',16);
$wd3 = $pdf->GetStringWidth($familia);
$x3 = ($width - $wd3)/2 + $field;
$pdf->SetTextColor(0,0,0);
$pdf->SetXY($x3,37);
$pdf->Write(10, $familia);
$pdf->SetFont('Arial','',12);
$wd4 = $pdf->GetStringWidth($city);
$x4 = ($width - $wd4)/2 + $field;
$pdf->SetTextColor(0,0,0);
$pdf->SetXY($x4,47);
$pdf->Cell($wd4+4, 5, $city, 1,0,"C",1, "sample.ru");
$pdf->SetLineWidth(4.5);
$pdf->SetDrawColor(0,0,150);
$pdf->Line(50,72,73,106);
$pdf->Output();
?>

Но в браузере вижу:
Код
Warning: fopen(Z:\home\localhost\www\fpdf/font/aribold.z) [function.fopen]: failed to open stream: No such file or directory in Z:\home\localhost\www\fpdf\fpdf.php on line 1172
FPDF error: Font file not found

Спустя 19 минут, 31 секунда (25.05.2009 - 23:47) waldicom написал(а):
FPDF хорошая штука, тоже делал на ней распечатку счета.
Когда увидишь кракозябры вместо русских букв - не пугайся smile.gif

Если до утра не разберешься, скину тебе работающий пример.

Спустя 18 минут, 5 секунд (26.05.2009 - 00:05) jetistyum написал(а):
Цитата (freed-master @ 25.05.2009 - 23:27)
Но в браузере вижу:

Код
Warning: fopen(Z:\home\localhost\www\fpdf/font/aribold.z) [function.fopen]: failed to open stream: No such file or directory in Z:\home\localhost\www\fpdf\fpdf.php on line 1172
FPDF error: Font file not found



Ну это отлично, это не просто так тебе показывают wink.gif

Спустя 7 часов, 43 минуты, 11 секунд (26.05.2009 - 07:48) freed-master написал(а):
Но я ума не приложу что это за файл или директория в строке 1172:
Код
$f=fopen($this->_getfontpath().$file,'rb',1);


Что означает "->"?

Спустя 10 часов, 21 минута, 3 секунды (26.05.2009 - 18:09) jetistyum написал(а):
Цитата (freed-master @ 26.05.2009 - 07:48)
Но я ума не приложу что это за файл или директория в строке 1172:

твой скрипт, и тебе с ним разбираться.
Как сказал waldicom - телепатов нет.


Цитата (freed-master @ 26.05.2009 - 07:48)
Что означает "->"?

чтобы это понять, придется осваивать ООП ... классы, объекты...

Спустя 1 час, 10 минут, 58 секунд (26.05.2009 - 19:20) freed-master написал(а):
Это не мой скрипт! Мне до такого еще очень и очень далеко...
Подскажите, пожалуйста, как генерировать pdf при помощи fpdf!

Спустя 34 минуты, 24 секунды (26.05.2009 - 19:54) waldicom написал(а):
Держи пример... Рабочий, только путь и переменные сам поставь. И картинку как подложку убери.

Свернутый текст
PHP
require '/var/www/libs/fpdf/fpdf.php';
    ............................
    ............................

    $pdf=new FPDF('P', 'mm', 'A4');
    $pdf->AddFont('ArialMT','','arial_cyr.php');  
    $pdf
->SetFont('ArialMT','',11);
    $pdf->AddPage();
    $pdf->Image('postblank.jpg', 10,10,152, 100);
    
    
// Данные отправителя
    $pdf->Text(30, 17, $sender_name);
    $pdf->Text(30, 25, $sender_from1);
    $pdf->Text(20, 32, $sender_from2);
    $pdf->Text(55, 46, $sender_zip);
    
    
//данные получателя и заказа
    $pdf->SetFont('ArialMT','',8);
    $pdf->Text(98, 22, $receiver_sum);
    $pdf->Text(106, 22, $receiver_sum_str_);
    $pdf->SetFont('ArialMT','',11);
    $pdf->Text(105, 62, $receiver_name);
    $pdf->Text(105, 76, $receiver_to1);
    $pdf->Text(96, 83, $receiver_to2);
    $pdf->SetFont('ArialMT','',9);
    $pdf->Text(96, 90, $receiver_to3);
    $pdf->SetFont('ArialMT','',11);
    $pdf->Text(105, 104, $receiver_zip);

    $pdf->Image('descr.JPG', 1,155, 101, 134);
    $pdf->SetFont('ArialMT','',7);
    $pdf->Text(22, 182, $receiver_to1 . ' , ' . $receiver_to2);
    $pdf->Text(22, 185, $receiver_to3);
    $pdf->SetFont('ArialMT','',11);
    $pdf->Text(27, 192, $receiver_name);
//    $pdf->Text(79, 216, $receiver_sum);
    $pdf->Text(60, 240, $receiver_sum);
    
    
    $pdf
->Image('descr.JPG', 106,155, 103, 134);
    $pdf->SetFont('ArialMT','',7);
    $pdf->Text(127, 182, $receiver_to1 . ' , ' . $receiver_to2);
    $pdf->Text(127, 185, $receiver_to3);
    $pdf->SetFont('ArialMT','',11);
    $pdf->Text(133, 192, $receiver_name);
//    $pdf->Text(185, 216, $receiver_sum);
    $pdf->Text(165, 240, $receiver_sum);
    
    
    $pdf
->Output();

Спустя 33 минуты, 46 секунд (26.05.2009 - 20:28) freed-master написал(а):
Те же яйца только в профиль...
Код
Warning: fopen(Z:\home\localhost\www\fpdf/font/arial.z) [function.fopen]: failed to open stream: No such file or directory in Z:\home\localhost\www\fpdf\fpdf.php on line 1172
FPDF error: Font file not found

Я так понимаю что-то со шрифтом... но почему arial.z откуда он вообще придумал этот файл?

Спустя 19 часов, 42 минуты, 45 секунд (27.05.2009 - 16:11) freed-master написал(а):
Помогите, пожалуйста!

Спустя 16 минут, 13 секунд (27.05.2009 - 16:27) waldicom написал(а):
Тебе надо положить шрифты в правильную папку. Куда тебе готовые шрифты кинуть?

Спустя 44 минуты, 23 секунды (27.05.2009 - 17:11) freed-master написал(а):
В правельную? Это в какую? У меня лежат в: Z:\home\localhost\www\fpdf\font\
Цитата
Куда тебе готовые шрифты кинуть?

Можно на мыло: flash-dirt@yandex.ru

Спустя 1 день, 12 часов, 21 минута, 59 секунд (29.05.2009 - 05:33) freed-master написал(а):
Вот нашел в коде:
Код
function _getfontpath()
{
if(!defined('FPDF_FONTPATH') && is_dir(dirname(__FILE__).'/font'))
 define('FPDF_FONTPATH',dirname(__FILE__).'/font/');
return defined('FPDF_FONTPATH') ? FPDF_FONTPATH : '';
}

Пробовал и так:
Z:\home\localhost\www\fpdf\font\(сами шрифты)
и так:
Z:\home\localhost\www\font\(сами шрифты)
Не работает...

Спустя 1 день, 5 часов, 26 минут, 59 секунд (30.05.2009 - 11:00) freed-master написал(а):
Ткните меня пожалуйста носом где я глупость совершил....

Спустя 1 день, 18 часов, 5 минут, 42 секунды (1.06.2009 - 05:06) freed-master написал(а):
Хоть кто-нибудь скажите свое мнение по этому поводу...

Спустя 1 год, 7 дней, 19 часов, 25 минут, 41 секунда (9.06.2010 - 00:32) shamancv написал(а):
"Warning: fopen(/srv/www/holgersweb/www//testpdf/fpdf/font/aribold.z) [function.fopen]: failed to open stream: No such file or directory in /srv/www/holgersweb/www/testpdf/fpdf/fpdf.php on line 1463
FPDF error: Font file not found"

Мне помогло вот что:
В файлах arial.php и aribold.php закомментировать строки
$file='aribold.z'
и
$file='arial.z'


_____________
Всем, кто заинтересован, могу помочь начать зарабатывать на forex.
Пишите в личку или на e-mail: flash-dirt@yandex.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.