Модераторы: Illuminaty
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Форматирование страницы, под печатный формат А4 
:(
    Опции темы
rsm
Дата 4.4.2007, 01:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: нет
Всего: 62



Есть некоторый шаблон, выглядящий примерно так:
Код

СОГЛАСОВАНО:     УТВЕРЖДАЮ:
Завхоз     Директор
___________     ___________
Камноедов М.М.     Невструев Я.П.

АКТ

на списание джиннов за _______ 200 _ г.
ФИО исполнителя __________

/* тут идет таблица */

№    Имя джинна    Возраст

1   Билли-ибн-Гейтс   1500

...

/* конец таблицы */

Кладовщик: __________

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

Условия: можно использовать только стандартные функции и классы PHP 5, никакие дополнения типа модулей работы с MS Excel и т.п. не допускаются.

Собственно вопрос: как это реализовать? Насколько мне известно, HTML-страница по определению не подлежит такому жесткому форматированию и печатается как получится, а не как нужно.
PM MAIL   Вверх
mishaSL
Дата 4.4.2007, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 8
Всего: 54



rsm, как выглядит страница на печати не зависит от PHP. Это возможно реализовать с помощью HTML+CSS.
В CSS есть специальные свойства, которые отвечают за отображение при выводе на устройства с постраничной разбивкой.
Рекомендую прочитать эту главу http://www.w3.org/TR/CSS21/page.html
Русскую версию вы можете скачать здесь


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
rsm
Дата 4.4.2007, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: нет
Всего: 62



Цитата(mishaSL @  4.4.2007,  10:06 Найти цитируемый пост)
специальные свойства, которые отвечают за отображение при выводе на устройства с постраничной разбивкой

Доки по ссылкам почитал, спасибо. Однако вопросы остались, потому что:
1)
Цитата
13.2.1.1 Rendering page boxes that do not fit a target sheet
If a page box does not fit the target sheet dimensions, the user agent may choose to:
* Rotate the page box 90° if this will make the page box fit.
* Scale the page to fit the target
В моем случае содержимое страницы нельзя ни переворачивать, ни уменьшать в масштабе.

2) 
Цитата
13.3.5 "Best" page breaks
<skip>
* Avoid breaking inside a table
Т.е. по спецификации разрывы внутри таблиц не рекомендуются. А нарушение спецификации вызвает проблемы совместимости с браузерами.

Главный вопрос - как определить место разрыва? В указанных доках про разрывы таблиц нет ничего (есть только принудительный поворот когда места не хватает, это мне не подходит). Знай я место разрыва - обошелся бы вообще без CSS, просто разделив таблицу, это было бы даже лучше, потому что можно было бы добавить заголовки колонок, сделав разорванную таблицу более удобной для чтения.

Нашел похожую тему, но и в ней задачу до конца так и не решили. Зато обнаружили упомянутую выше проблему совместимости с браузерами: IE строки рвет, FF не рвет, плюс в обоих браузерах не работает альбомная ориентация страницы.
PM MAIL   Вверх
mishaSL
Дата 4.4.2007, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 8
Всего: 54



Цитата(rsm @  4.4.2007,  11:10 Найти цитируемый пост)
Знай я место разрыва - обошелся бы вообще без CSS

Это да, только определить его проблематично. Но можно с помощью CSS определить где можно разрывать страницу и как это делать, а где нет. http://www.w3.org/TR/CSS21/page.html#page-breaks

Цитата(rsm @  4.4.2007,  11:10 Найти цитируемый пост)
потому что можно было бы добавить заголовки колонок, сделав разорванную таблицу более удобной для чтения.

http://forum.vingrad.ru/topic-137032/kw-%D...head/index.html

Добавлено через 1 минуту и 6 секунд
Цитата(rsm @  4.4.2007,  11:10 Найти цитируемый пост)
Доки по ссылкам почитал

Лучше в русском изложении почитать smile 



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
rsm
Дата 4.4.2007, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 999
Регистрация: 16.3.2005

Репутация: нет
Всего: 62



Хм, FF строки рвет нормально, IE конечно глючит (иного от него ожидать не приходится). Ну да и Гейтс с ним, поставлю заказчику FF, пусть юзает.
PM MAIL   Вверх
mishaSL
Дата 4.4.2007, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 8
Всего: 54



Цитата(rsm @  4.4.2007,  16:54 Найти цитируемый пост)
Ну да и Гейтс с ним, поставлю заказчику FF

 smile  smile  smile 



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема »


 




[ Время генерации скрипта: 0.0409 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.