При экспорте в PDF, Firefox обрезает нижний элемент div, предназначенный для сообщения об авторских правах на каждой странице. - PullRequest
2 голосов
/ 26 января 2010

Мне нужно вывести PDF-файл этой страницы - http://mpkb.org/doku.php/home:1 - и сделать так, чтобы он делал заявление об авторских правах внизу каждой страницы. Проблема в том, что это утверждение обрезается, когда я экспортирую в формате PDF из Firefox для Mac. (Я просто должен делать это один раз в месяц, поэтому мне не все равно, если это не работает в других браузерах.)

Используя винтажное предложение Эрика Мейера, вот CSS, который я использую:

#print-footer {display: block; position: fixed; bottom: -20px ; overflow: visible;}

Я пробовал:

  • Изменение нижней части: -20px на 0px и назначение «padding: 50px» для элементов, содержащих содержимое, т.е. .dokuwiki, .clearfix, #wrap, body, html.
  • Изменение полей для Firefox в настройках страницы.
  • Попытка Google Chrome для Mac или Safari Mac.
  • Изменение цвета фона элементов, содержащих контент, на none или прозрачный.
  • Изменение z-индекса элементов, содержащих содержимое, на значение меньше z-index для # print-footer

Слишком сложно переносить это в Adobe Acrobat всякий раз, когда я обновляю этот документ.

Есть идеи?

спасибо, Пол

Ответы [ 2 ]

2 голосов
/ 29 января 2010

Спасибо, что нашли время, UberNeet.

На самом деле я потратил намного больше времени на эту проблему. Основная проблема здесь заключается в том, что @page не поддерживается почти всеми браузерами (я думаю, что Opera является исключением), хотя это спецификация CSS 2.X: http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28Cascading_Style_Sheets%29#Grammar_and_rules

Я копался в спецификациях CSS 3: http://www.w3.org/TR/css3-page/#page-size-prop

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

Например:

@page {
  @bottom-center {
    content: "Copyright 2003-2010 Autoimmunity Research Inc.";
    color: #b31b1b;
    font-size: 11px;
    font-family: verdana;
    margin-bottom: 10px;
  }
}

Итак, в итоге я использовал одну из немногих программ на земле, которая чтит CSS3: PrinceXML.

PrinceXML потрясающий! Все, что мне нужно было сделать, это загрузить и установить его на моем Mac и набрать в моем терминале это:

/Users/myaccount/prince/bin/prince http://mpkb.org/doku.php/home:1 -o /Users/my account/Desktop/final.pdf

И я получаю прекрасно отформатированный PDF. Круто, нет?

Кстати, для людей, которые хотят сделать что-то необычное, например, оглавление, вы должны проверить эту статью: http://www.alistapart.com/articles/boom

Ну, во всяком случае, надеюсь, это поможет кому-то еще.

Пол

1 голос
/ 28 января 2010

Мой опыт работы с CSS для печати ограничен, но попробуйте это:

@page {
   margin-bottom: 4cm;
}

#print-footer {
   display: block;
   position: fixed;
   bottom: -10px;
}

Мне удалось получить авторское право на каждую страницу, но оно совпало с содержанием, и я не смог заставить работать свойство @page. Вот несколько вещей, которые вы можете попробовать.

@page copyspace { margin: 5cm; }

body { page: copyspace; }

#print-footer { ... }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...