4

pisa を使用して、次のレイアウトの PDF ファイルを生成します。

  @page {
        size: a4;
        @frame header {
          top: 5.4cm;
          bottom: 4cm;
          left: 1.2cm;
          right: 1.2cm;
        }
        @frame main {
          top: 10.5cm;
          bottom: 4cm;
          left: 1.2cm;
          right: 1.2cm;
        }
        @frame footer {
          top: 26cm;
          left: 1.2cm;
          right: 1.2cm;
        }
      }

場合によっては、メイン フレームのコンテンツが 1 ページに収まるほど短くなく、フッター フレームのスペースも使用することがあります。その代わりに、残りのテキストを 2 ページ目のメインのフレーム スペースに配置したいと思います (残りのフレームのスペースは空けておきます)。助言がありますか?

4

1 に答える 1

10

ピサを理解するのは特に簡単ではありません。私はそれを使用して、いくつかの異なる形式のレポートを生成しています。

フレーム内にメイン コンテンツを配置しません。また、すべてインチ/レターサイズですが、私のセットアップ方法と複数ページでの動作を正確に説明したいと思います。

@pageまたは<keepinframe></keepinframe> タグにマージンを追加すると、問題が解決する場合があります。

<document pagesize='letter'>
<head>
    <title>{{ title }}</title>
    <style type="text/css">
        @page {
            size: letter portrait;
            margin: 1.0in 0.25in 0.5in 0.25in;
            padding: 0;

            @frame header {
                -pdf-frame-content: headerContent;
                width: 8in;
                top: 0.5in;
                margin-left: 0.5in;
                margin-right: 0.5in;
                height: 1.0in;
            }
            @frame footer {
                -pdf-frame-content: footerContent;
                width: 8in;
                bottom: 0in;
                margin-left: 2cm;
                margin-right: 2cm;
                height: 1cm;
            }
        } <!-- end of @page bracket -->

        <!-- add content styles here -->
        h1 { text-align: middle; font-size: 18px; }
    </style>
</head>
<body>
<div id='headerContent'>
    <!-- header content -->
</div>
<div>
    <keepinframe>
     <!-- Content -->
    </keepinframe>
</div>
<div id='footerContent'>
    <!-- footer content -->
    <pdf:pagenumber>
</div>
</body>
</document>
于 2011-09-20T21:16:02.210 に答える