質問

CSSの場合:

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

ページを印刷するときに、すべてのページの上部にページ番号を表示できます。これはうまく機能します。しかし、ページ番号が1ではなく2で始まるようにするにはどうすればよいですか?上記のCSSルールを変更することでそれを実行できますか?

役に立ちましたか?

解決

Flying Saucerを使用している場合(私の場合)、次のCSSを使用します:

  

table {-fs-table-paginate:paginate; }

これは魅力のように機能します。そして、空飛ぶ円盤の岩:)。本当に強くお勧めします。

他のヒント

試してください:

@page {
    counter-increment: page;
    counter-reset: page 1;
    @top-right {
        content: "Page " counter(page) " of " counter(pages);
    }
}

page 1 を使用すると、カウンターの開始点がリセットされます。任意の整数を使用して、カウントを開始できます。デフォルトは 0 です。

Flying Saucerで少し遊んだ後、CSS(または非常に複雑なもの)でこれを行う方法はないと思います。「ページ」/「ページ」内部CSS変数のようです。おそらく、CSS 3のほうが良くなるでしょう。calc()関数があるようです。そのため、counter(calc(page + 1))はおそらく動作します...

ただし、2ページ目からPDFを取得する別の方法があります。xhtmlファイルに次の行を追加することにより、PDFに空白の最初のページを追加できます。

<h1 style="page-break-before:always"></h1>

その後、プリンターを使用する場合はPDFの2〜...ページのみを印刷するか、PDFエディターでPDFから最初のページを削除できます。

カウンターに関するCSSドキュメントを見ましたか? こちらを参照カウンターリセットを呼び出すことができるようです。デフォルトでは、カウンターは0に設定されています。Bodyタグで&quot; content-reset:page 1;&quot;を実行した場合、その後、最初のページを強制的に1ではなく2で開始する必要があります。

これが機能するかどうかわかりませんが、 counter(page + 1)を試してみませんか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top