Летающая тарелка скрыть верхний и нижний колонтитулы на первой странице

Я играл с летающей тарелкой R8 и пытался скрыть верхний и нижний колонтитулы с первой страницы моего PDF.

Я следовал этому совету, пытаясь следовать спецификациям W3C для content: element () (работающие элементы W3C) в моем файле print.css. Описано, что следующее должно решить мою проблему:

@page { @top-center { content: element(header, first-except) }}

Но, похоже, это еще не реализовано в R8. Поэтому я попробовал подход выше с помощью метода set-string.

#header { set-string: header content() }
@page { @top-center { content: string(header, first-except) }}

Но ничего не обрабатывается, содержимое: string() кажется сломанным, так как все, что я вставил туда, не будет отображено:

@page { @top-center { content: "foo" string(header, first-except) }} /*broken*/
@page { @top-center { content: "foo" string(header) }} /*broken*/
@page { @top-center { content: "foo" }} /*works!*/

Так кто-нибудь знает, как заставить это работать?

2 ответа

Решение

Хорошо, мытье было легко. Я скопировал его из ссылки на источники с летающей тарелкой

Я должен был сделать следующее:

добавить второй нижний колонтитул без нумерации страниц:

<div id="normalFooter" style="position: running(normalFooter);">
    <div class="footerContent">fancy stuff</div>
    page <span class="page"/> of <span class="pagecount"/> 
</div>
<div id="firstPageFooter" style="position: running(firstPageFooter);">
    <div class="footerContent">fancy stuff</div>
</div>

Хитрость заключается в CSS @page: first:

@page {     
    @bottom-right {
        content: element(normalFooter);
    }
} 

@page :first {      
    @bottom-right {
        content: element(firstPageFooter);
    }
}

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

Кажется, это работает для меня. Сначала я пропустил ключевое свойство string-set элемента #cover. Также показано, как сделать счетчик страниц. Элемент #cover находится на моей титульной странице, в результате чего счетчик увеличивается на первой странице, хотя нижний колонтитул не отображается.

        div.header {
            display: block;
            font-size: 8pt;
            position: running(header);
        }

        div.header .project-date {
            padding-left: 8px;
        }

        div.header .project-name {
            padding-left: 4px;
        }

        div.footer {
            font-size: 8pt;
            display: block;
            position: running(footer);
        }

        div.footer .page-number:before {
            counter-increment: section;
            content: counter(section);
        }


        @page {
            size: 8.5in 11in;
            margin: 1cm;
            @top-center { content: element(header, last-except)}

            @bottom-center { content: element(footer, last-except)}

        }

        #cover {
            string-set: footer header;
            counter-increment: section;
        }
Другие вопросы по тегам