0


Printable独自のクラス を使用するときに印刷されるページ数を確認する方法について質問があります。
各ページのフッターに「page_number/total_pages」を入れたいので必要です。
私の場合、行の推定に関する問題は、行がラップされていることです。さらに、いくつかのテキスト行の間に空の行があり、テキストの通常の広がりを妨げる可能性のある他のケースがいくつかあります。通常、これは均一な印刷ではありません。
ご存じのように、すべての印刷ダイアログ ウィンドウを呼び出した後、レンダリング処理が行われます。
この問題に対処する方法はありますか、または実際のページ数を受け取るために印刷シミュレーションを起動する必要がありますか? それとも、他のクラスを実装する必要がありますか?
よろしく

4

2 に答える 2

0

以下を使用して no を取得できます。ページ数:

int linesPerPage;        // No. of lines per Page to be drawn.
static int numPages;     // No. of pages too be rendered.

public int getNumberOfPages()   // Override method to get Number Of Pages.
{
     return numPages;
}

メインで..

    linesPerPage = (int)Math.floor(format.getImageableHeight()/linespacing);
    numPages = (DATA_to_Print.length - 1)/linesPerPage + 1;

オーバーライド印刷メソッドで..

    if ((pagenum < 0) | (pagenum >= numPages)) 
    {
        return NO_SUCH_PAGE;
    }  

print メソッドが呼び出されるたびに、numPages の値が増加します。

于 2013-10-10T06:46:05.743 に答える