Можно ли печатать разные нижние колонтитулы на каждой странице? - PullRequest
6 голосов
/ 27 декабря 2010

Я конвертирую приложение Access в Интернет, и мне нужно распечатать отчеты из него. Это письма, отправленные по почте, и поэтому нижняя часть письма, которая является частью «Пожалуйста, верните», всегда будет внизу страницы, независимо от того, насколько большой текст письма. Я использовал DIV s, чтобы хорошо разложить буквы и имитировал Access, но я не знаю, как получить заголовок каждой буквы внизу страницы. Использование CSS position: fixed; для нижнего колонтитула просто заставляет каждый нижний колонтитул показываться внизу каждой страницы, и мы хотели бы иметь возможность печатать сразу несколько букв.

Если я удаляю fixed, он отображает каждый нижний колонтитул на отдельной странице, они не были выровнены по его нижней части.

Могу ли я взять свой торт и съесть его тоже? Не обязательно быть кросс-браузерным, и я перейду в PDF, если это абсолютно необходимо, но каковы мои варианты в CSS / HTML? Каким-то образом преобразовать все это в таблицу и попробовать tfoot? Но заставит ли это быть внизу каждой страницы?

Редактировать: образец CSS / HTML:

.reportcontainer {
    width: 100%;
    page-break-inside: avoid;
    page-break-after: always;
    position: relative;
}
.reportbody {
    float: left;
    text-align: left;
}
.reportfooter {
    width: 100%;
    float: left;
    bottom: 0;
    position: fixed;
}

<div class="reportcontainer">
    <div class="reportbody">
        yadda yadda yadda
    </div>
    <div class="reportfooter">
        stuff goes here
    </div>
</div>

Ответы [ 2 ]

1 голос
/ 05 января 2011

Попробуй это. Я должен был выяснить много html-печати в последнее время. Вы можете выяснить, как вы хотите реплицировать div, используя либо backend, либо используя jquery клонирование для каждого отчета. Границы служат только для иллюстрации контейнеров.

.reportcontainer {
    width:8.5in;
    height:11in;
    page-break-inside:avoid;
    page-break-after:always;
    border:1px solid red;
}
.reportbody {
    width:100%;
    height:10in;
    border:1px solid yellow;
}
.reportfooter {
    width:100%;
    height:1in;
    border:1px solid blue;
}
</style>

<div class="reportcontainer">
    <div class="reportbody">
        yadda1 yadda1 yadda1
    </div>
    <div class="reportfooter">
        footer 1 goes here
    </div>
</div>

<div class="reportcontainer">
    <div class="reportbody">
        yadda2 yadda2 yadda2
    </div>
    <div class="reportfooter">
        footer 2 goes here
    </div>
</div>

<div class="reportcontainer">
    <div class="reportbody">
        yadda3 yadda3 yadda3
    </div>
    <div class="reportfooter">
        footer 3 goes here
    </div>
</div>
1 голос
/ 27 декабря 2010

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

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

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