Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вытащить данные из БД и показать в JPEG формате
 
 автор: sasha12342   (08.08.2013 в 21:54)   письмо автору
 
 

Здравствуйте друзья!

Есть одна задумка но не знаю если это выполнимо.

Хочу вытащить из БД данные пользователя (типа: ФИО, логин, фото) и вывести их на экран в виде фотографии.

Как это можно реализовать?

  Ответить  
 
 автор: confirm   (08.08.2013 в 23:24)   письмо автору
 
   для: sasha12342   (08.08.2013 в 21:54)
 

Выполнимо, но зачем?

  Ответить  
 
 автор: sasha12342   (09.08.2013 в 00:05)   письмо автору
 
   для: confirm   (08.08.2013 в 23:24)
 

Хочу сделать купон на скидку.
Человек нажимает на кнопку "получить купон" из базы беру его данные и вожу их в "див" фоном которого является шаблон купона. А превратить этот контейнер с данными пользователя в изображение нужно для того чтобы он смог скачать его и распечатать.

  Ответить  
 
 автор: confirm   (09.08.2013 в 00:09)   письмо автору
 
   для: sasha12342   (09.08.2013 в 00:05)
 

Распечатать можно и html-страницу, и превратить ее можно и в купон, и шаблон и...
Но если хотите нарисовать, то http://www.php.net/manual/ru/ref.image.php - открывайте изображение и пишите на нем данные.

  Ответить  
 
 автор: sasha12342   (09.08.2013 в 00:34)   письмо автору
 
   для: confirm   (09.08.2013 в 00:09)
 

Нет рисовать не хочу.
На странице с купоном, среди текста, есть контейнер "див" а фон этого дива является изображение пустого купона. Также в этом контейнере есть еще несколько контейнеров с данными пользователя (вытаскиваемые из БД).
Так вот, необходимо сделать так, чтобы при нажатии, пользователем, правой кнопки мыши и выбора из меню пункта "скачать" всё это дело (купон) скачался в виде изображения или в другом виде но чтобы пользователь имел возможность, без лишних, хлопот распечатать его.

  Ответить  
 
 автор: confirm   (09.08.2013 в 01:05)   письмо автору
 
   для: sasha12342   (09.08.2013 в 00:34)
 

Вы странный малый, спрашиваете как сделать изображение для печати, но рисовать при этом не желаете.

Что такое печать? Можно распечатать страницу оформленную под что угодно возможное, при этом печать по умолчанию будет на лист формата A4. Другими словами - как вы определите стилями так и напечатает. Какая проблема вызвать печать документа, который будет открываться в новом окне?

Картинка - эта зараза подразумевает разрешение, то есть, если ваша картинка имеет размер 300х300 пикселей, то это еще не означает, что она будет распечатана на листе с размерами, которые вы подразумеваете. Размер оттиска изображения будет зависеть от того, с каким качеством будет произведена печать. То есть, подготавливая изображение вы должны заботиться о его размере, которое будет определять его конечное качество при печати с выбранным/установленным качеством в указанных вами размерах.

Так что, если хотите отдать пользователю картинку для печати - рисуйте, не хотите - оформляйте страницу для печати, а уж как он ее будет печать, в онлайн или сохранит, это не важно.

  Ответить  
 
 автор: sasha12342   (09.08.2013 в 19:53)   письмо автору
 
   для: confirm   (09.08.2013 в 01:05)
 

Понял!

Значит надо создать страницу "print.html" где и будет див с фоном и данными. А на главной странице где показан "мини купон" нужно поставить ссылку "Печать" которая должна распечатать страницу "print.html".
А как сделать так чтобы при нажатии на "Печать" распечаталась-бы страница "print.html" ?

  Ответить  
 
 автор: bartik   (09.08.2013 в 20:12)   письмо автору
 
   для: sasha12342   (09.08.2013 в 19:53)
 

Ну это вам надо смотреть в сторону Java-скриптов, ну к примеру

<a href="javascript:print()">Печать </a>

  Ответить  
 
 автор: confirm   (09.08.2013 в 23:05)   письмо автору
 
   для: sasha12342   (09.08.2013 в 19:53)
 

Вызвать эту страницу на печать.

<button onclick="window.open('path/print.html?usr=USERID', '', PARAM)">Печать</button>

Предполагается, что на страницу печати print.html передается id пользователя. Значения PARAM - это строка с параметрами открываемого окна, они описаны здесь. Ознакомтесь и укажите вам нужные вместо PARAM.

В странице print.html в тег BODY добавьте вызов печати:
<body onload="window.print()">

  Ответить  
 
 автор: sasha12342   (11.08.2013 в 00:24)   письмо автору
 
   для: confirm   (09.08.2013 в 23:05)
 

Спасибо! Всё получилось!
Я вот что ещё подумал:
А если у пользователя нет принтера и он хочет просто сохранить файл у себя на компьютере а потом распечатать, как это сделать?
Он может, эту страницу, сохранить в формате изображения или документа вворд?

  Ответить  
 
 автор: confirm   (11.08.2013 в 05:38)   письмо автору
 
   для: sasha12342   (11.08.2013 в 00:24)
 

Если нет принтера, то в среде Windows в качестве принтера будет вызван Microsoft SPX Document Writer. Если в этом окне печати выбрать "Изменить", то можно будет сохранить этот документ как PDF, Microsoft SPX Document Writer, Fax. Естественно, этот документ можно сохранить и как просто html страницу, выполнив печать впоследствии. Кроме этого, если у пользователя Chrome, то будет предложено сохранение на облачном диске и виртуальный принтер гугла.

  Ответить  
 
 автор: sasha12342   (27.08.2013 в 19:39)   письмо автору
 
   для: confirm   (11.08.2013 в 05:38)
 

Здравствуйте уважаемые знатоки! Это снова я.

Сделал отдельную страницу "print.php" вывел на ней "див" с изображением в качестве фона (css стилями), в этом контейнере ещё 3 контейнера с данными пользователя.

Так вот, когда попробовал распечатать страницу, то на листе распечатались лишь данные пользователя без фонового изображения.

Может-быть надо какой-то дополнительный параметр указать, что-ли?

  Ответить  
 
 автор: confirm   (27.08.2013 в 19:49)   письмо автору
 
   для: sasha12342   (27.08.2013 в 19:39)
 

А под каким браузером печать? Например, в IE нужно указывать в настройках печать границ и рисунков. А для стилей нужно указывать медиа-тип.

  Ответить  
 
 автор: sasha12342   (27.08.2013 в 20:34)   письмо автору
 
   для: confirm   (27.08.2013 в 19:49)
 

Пробовал распечатать в "мазиле" в других браузерах не пробовал.

Если я правильно понял, то "медиа-тип" определяет устройство и говорит как именно содержание страницы должно выглядеть для него.

А вот как заставить распечатать фоновое изображение я не нашёл...

Даже пробовал задать фон таблице (без использования стилей) но всё равно не печатает.

  Ответить  
 
 автор: confirm   (27.08.2013 в 20:49)   письмо автору
 
   для: sasha12342   (27.08.2013 в 20:34)
 

Заставить печатать фоновое изображение можно только настройками браузера, хотя где-то попадался хак FF обходящий такую зависимость.

Вот почитайте о печати:
http://frontender.info/tips-tricks-print-style-sheets/
http://habrahabr.ru/post/160997/

  Ответить  
 
 автор: sasha12342   (27.08.2013 в 21:09)   письмо автору
 
   для: confirm   (27.08.2013 в 20:49)
 

Да... гугл печатает фон а мазила не хочет. Очень жаль... Двадцать первый век на дворе а мазила и опера не печатают фоновое изображение :(

Спасибо за ответы.

  Ответить  
 
 автор: confirm   (27.08.2013 в 21:19)   письмо автору
 
   для: sasha12342   (27.08.2013 в 21:09)
 

Страница с html разметкой, это все таки не изображение для печати, и печатать вы будете естественно не из под Фотошопа, эта страница и как документ далека от документа Word, например. Гарантированно хотите, значит разрабатывайте стиль иной, такой чтобы изображение было не фоновым, а элементом на странице. Что-то надо поверх, значит абсолютное позиционирование слоев.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования