За последние 24 часа нас посетили 17759 программистов и 1922 робота. Сейчас ищут 984 программиста ...

Создание генератора ценников. Проблемы с печатью :)

Тема в разделе "Прочие вопросы по PHP", создана пользователем Invision, 14 дек 2012.

  1. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Пишу генератор ценников, в принципе задача проста:
    Выбираем товары, и формируем печать ценников данных продуктов. В которые входит название продукта, цена (и прочее). Фиксировано все по ширине, тянется по высоте, должно печататься на A4.
    Сначала думал сделать все в вебе, и печатать страницу, но т.к блоки разные, при печати возможно что то не влезет. Помогите разобраться, может генерировать в PDF / Excel или хватит веб-страницы?

    Смотрится так:
    страница 1:
    набор блоков (ценников)
    страница 2: другой набор ценников итд :)
    Думаю меня поняли.
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Что-то не совсем понятно, вы хотите через php сделать печать на A4 на принтере?

    Объясните подробнее...
    Лучше код покажите, что пытаетесь сделать.
    Так будет более понятнее.
     
  3. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    [​IMG]

    Uploaded with ImageShack.us

    Тут даже вопрос не по php, но возможно есть на php библиотека чтобы постранично результаты вывести (без обрезания) :).
    Собственно вот проблема печати страницы. Таблица обрезается,а нужно чтобы если не влазит не резалось, а выводилось с новой стр. Мне или как то узнать нужно высоту страницы и просчет делать на js относительно высоты блоков, или что то другое использовать.

    Соре если непонятно объясняю :)

    Код тупо для теста вывожу как будет после генерации. Высота блоков разная, ширина фиксирована.
    Код (Text):
    1. <table border="1">
    2. <?php for($i=0;$i<=100;$i++) { ?>
    3. <tr>
    4. <td style="width:500px;height: <?=rand(100,400)?>px;">row <?=$i;?>, cell 1</td>
    5. <td style="width:500px;">row <?=$i;?>, cell 2</td>
    6. </tr>
    7. <?php } ?>
    8. </table>
     
  4. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Как я понял надо просто воспользоваться в верстке media print и для принтера подверстать
     
  5. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    Проблема решена.
    Останется самое простое. На js измерять влезают ли блоки таблиц и если нет применять "page-break-after:always;