29

これを自分で理解したいと思っていたよりももう少し調査が必要だったので、ここに包括的な回答を投稿します。これを行うための情報は、さまざまな Web サイトに分散しているように思われるので、1 か所にまとめたいと思います。 この答えは同じ かもしれませんが、html テンプレートではなく Java 文字列にあるため、私の目は輝きます。質問は次のとおりです。

PDF をレンダリングしていて、ページの下部に「Page n of m」というフッターが必要です。ここで、「n」は現在のページ番号、「m」はドキュメントの合計ページです。それ、どうやったら出来るの?

4

5 に答える 5

39

bodyHTML では、これをタグのどこかに配置する必要があります。

<div id="footer">
    page <span id="pagenumber"></span> of <span id="pagecount"></span>
</div>

そして、これはあなたのCSS /スタイルでなければなりません:

    #footer {
        position: running(footer);
        text-align: right;
    }

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

    #pagenumber:before {
        content: counter(page);
    }

    #pagecount:before {
        content: counter(pages);
    }

@bottom-rightこのオプションの詳細については、こちらをご覧ください。

于 2013-07-30T17:44:54.307 に答える
36

もう少し簡潔なアプローチを試すこともできます。

@page {
  @bottom-right {
    content: "Page " counter(page) " of " counter(pages);
  }
}

これを css/style に入れる必要があり、追加のフッター HTML 要素を追加する必要はありません。

于 2014-12-19T13:59:15.943 に答える
3

@John Mark のソリューションは私にとってはうまくいきました。私のアプリケーションでは、スタイル情報を HTML に埋め込む必要があったため、これを<style>タグで囲み、<head>before内に配置しました<title>。たぶん、その情報は他の誰かに役立つでしょう。

于 2015-09-11T13:33:30.543 に答える