Автор Тема: Пага на печать: ориентировка листа; как задать по дефолту при печати landscape?  (Прочитано 4199 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Gleb

  • Гость
Столкнулся с проблемой: при определении @media print и описании стиля для печати не получил желаемого результата - возникла необходимость печати страницы на листе с альбомной ориентировкой.
При этом надобы чтобы она задавалась сразу, а не пользователем.
Возможностей представляется две:
1) Как-нибудь (не знаю как) добиться того, чтоб при печати по дефолту уже был нажат чекбокс "landscape" : очевидно значения нажато/ненажато = true/false для чекбокса хранятся в какой-то переменной у браузера (в какой?). Если идти по этому пути надо переназначить скриптом значения этих переменных.
2) Развернуть на 90град (против часовой) контент страницы - но как тогда производить постраничную (т.е. полистовую) разбивку?
Подскажите пожалста как добиться желаемого результата и избежать возможных осложнений.

Оффлайн Maniac

  • Ума нет - считай коллега
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 844
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Знаешь, насколько я знаю, ты не можешь получать доступ к менюшкам браузера (и слава богу). Все, что ты можешь сделать - это вызвать окно печати. ВСЁ.

Теперь о твоей проблеме. ИМХО, есть смысл дать юзеру возможность скачать "версию для печати" в PDF. Результат будет максимально близок к желаемому
TANSTAAFL

Gleb

  • Гость
Согласен, что в ОБЩЕМ СЛУЧАЕ этот вариант наиболее предпочтителен. Однако взаимодействие посетителя (целевой посетитель - инженер-конструктор, руководитель пром. предприятия; отсюда - необходимость печати) с контентом ожидается таковым, что посетителю скорее будут интересны отдельные разделы и скорее даже страницы (вразноброс) поэтому делать .pdf со всем контентом не выгодно (большой и целиком от начала до конца никому не нужен) делать же .pdf на каждую станицу тоже муторно (не те объемы для работы (оплаченной фиксировано :( )).
Поэтому оптимальное решение - действовать через CSS2, (весь сайт уже разработан и написан, только без оптимизации печати). То что я сделал сейчас под книжную ориентировку вполне даже приемлемо, и вроде значащий контент не теряется, однако удобнее это все делать на альбомной ориентировке.
В этом и трабл.

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Gleb
Вот вам ссылка на описание раздела CSS2, отвечающего за страничный вывод: http://www.w3.org/TR/REC-CSS2/page.html.
Цитировать

13.2.2 Page size: the \'size\' property

\'size\'
Value:  {1,2} | auto | portrait | landscape | inherit
Initial:  auto
Applies to:  the page context
Inherited:  N/A
Percentages:  N/A
Media:  visual, paged

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

А о результатах ваших экспериментов вы в эту же тему напишите потом, хорошо?
На самом-то деле любопытно.
•••Jah\'d never let us down!•••

Gleb

  • Гость
Решение проблемы "влоб" (работа только спинным мозгом, копчиковым отделом - то как я это сделал сразу):

на контент-пейджах:

1)




2)




3)



4)



5)


PAGE CONTENT




В файле стиля:

а) описание для экрана
б) отключаем для экрана то что нужно только для принтера (см 4):
.print {
   display: none;
}
в) определим тип устройства - С ПОСТРАНИЧНОЙ РАЗБИВКОЙ (ПРИНТЕР) и даём описание станицы для него:
@media print {
    BODY, td, a, .listhead, .listitem { font-family: "Times New Roman", Times, serif; }
г) скрипты для экрана отключаем для принтера (см п. 2 и 3):
    .script {display: none;}
д) выводим скрипты для принтера с нужным нам форматированием:    
    .print {display: inline;
            font-family: Verdana, Arial, Helvetica, sans-serif;}
е) все содержимое страницы сдвигаем для принтера так, чтоб "ушла" левая менюшка и как раз страница по ширене листа получается     .all {position: absolute; left: -195px;}        
}

Все работает нормально.

если заменяем в стиле пункты в-е на

@media print {
    BODY, td, a, .listhead, .listitem { font-family: "Times New Roman", Times, serif; }
    .script {display: none;}
   
    .print {display: inline;
            font-family: Verdana, Arial, Helvetica, sans-serif;}
   
page: {size: landscape}
   
}

а это именно то, что написано в родной спецификации CSS2, последняя строка не воспринимается!
Как говорится
ЗДЕСЬ ВАМ НЕ ТУТ

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Gleb
А вы уверены, что надо писать именно

page: {size: landscape}

а не

@page {
size: landscape;
}

(как написано в стандарте)?
« Последнее редактирование: 29 Января 2003, 15:40:40 от Xander »
•••Jah\'d never let us down!•••

Гость

  • Гость
Секунду!

@page {
size: landscape;
}

пишется в

@media print {
\\здесь\\
}

те
@media print{
@page {
size: landscape;
}
}

или указание @page {size: landscape;} само по себе приметяется как @media print ?
те
@media print {
\\наше описание\\
}
@page {size: landscape;}

На самом деле я уже проверил оба варианта, оба не работают ни в Ie 5, ни в Скапе и Мозе, ни в Опере 6 (а в ней и первый вариант оформления не срабатывает - не позиционирует она блок абсолютно, и всё тут).

Я вот что думаю:
пока я довольно смутно себе представляю что это за обьект такой \\page\\ и как с ним обращаться?
Считается ли, что это все между и ?
Тогда ему может мешать описание


?

Вобщем при первом знакомстве с печатью я слегка префигел: толи от СВОЕЙ тупости, толь от того, что кто-то очень постарался мне её показать; так что пламенный привет коллективам w3c и разработчиков браузеров (правда последние похоже находятся в ситуации, аналогичной моей.... хотя все равно странно - вроде специффикации пишутся именно для их служебного пользования, а для нас, юзеров в этой области, должны предназначаться документы категории учебников)

Gleb

  • Гость
или все и из-за того, что страницы на таблицах ?
таблицу повернуть вроде можно, а то что вне её?
можно ли повернуть блок ?
зы пред месага - это я был

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
мне уже самому интересно стало.
Ладно, попорчу сегодня немного бумаги, и скажу, как оно.
•••Jah\'d never let us down!•••

Gleb

  • Гость
Да зачем портить бумагу: на бумаге все также как в броузере в Print Prewiev.

На следующей неделе сайт возможно будет доступен в Web, применено начальное решение (книжная ориентировка) - можно будет посмотреть. Сейчас я уже думаю что альбомная не так необходима, однако факт тупиковой ситуации с альбомной остаётся фактом и найти решение или ошибку уже самоценно само по себе.

Xander
Спасибо за участие и поддержку, изначально я закинул этот топик на 5 форумов аналогичной тематики, в 3-х из них - никакого отклика.

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
Gleb
проверил:
@media:print {
@page {
size: landscape;
}
}
Опера 6.0 и Мозилла понимают правильно, IE 5.0 - как обычно...
•••Jah\'d never let us down!•••

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28