2016-11-18 26 views
0

申し訳ありませんが、私は英語が上手ではないので、私の問題を理解できないかもしれません。 私はpdfの上下にいくつかのラベルを追加したいが、ラベルの位置はマイナスに設定することができる。 How to resize existing pdf page size 私のpdf pagesize.thenを変更するには別の問題が発生しました。
マイナス、マイテキストが切り捨てられていますが、最下部に長さを追加したいのですがテキストを上に移動してテキストを中央に配置します。pdf itextでテキストの位置を変更する方法

キーコード

float newTop = rectangle.getTop(); 
        if (printSet.getHeaderMargins() < 0) { 
         newTop += height2Offset(PrintSet.defaultMargins - printSet.getHeaderMargins()); 
         headMargins = height2Offset(PrintSet.defaultMargins); 
        } 
        if (printSet.getFooterMargins() < 0) { 
         newTop += height2Offset(PrintSet.defaultMargins - printSet.getFooterMargins()); 
         footMargins = height2Offset(PrintSet.defaultMargins); 
        } 
        float[] newBoxValues = new float[] { 
          rectangle.getLeft(), 
          rectangle.getBottom(), 
          rectangle.getRight(), 
          newTop 
        }; 
        PdfArray newBox = new PdfArray(newBoxValues); 
        PdfDictionary pageDict = reader.getPageN(page + 1); 
        pageDict.put(PdfName.CROPBOX, newBox); 
        pageDict.put(PdfName.MEDIABOX, newBox); 

enter image description here

+0

私は私のquesitonを記述するための美しい絵を描く多くの時間を過ごします!ああ、非常に強力な –

+0

* "私は マイナス、私のテキストが切り捨てられたようにllyを設定すると別の問題が発生しました" * - したがって、これはあなたの実際の問題であり、テキストを上に移動させてテキストを中央に配置する "*と*"は、この問題を解決するために不必要に複雑な方法です。 – mkl

答えて

0

現在、あなたはこのような新しいページサイズを定義している:

float[] newBoxValues = new float[] { 
    rectangle.getLeft(), 
    rectangle.getBottom(), 
    rectangle.getRight(), 
    newTop 
}; 

をこれは大きな四角形を作成しますが、その長方形は、ページを拡大上部に向かって。

私はあなたがこのような新しい四角形を作成すべきだと思う:

float[] newBoxValues = new float[] { 
    rectangle.getLeft(), 
    rectangle.getBottom() - extramarginBottom, 
    rectangle.getRight(), 
    rectangle.getTop() + extramarginTop 
}; 

私は私はあなたのheight2Offset()メソッドが行うことになっているかわからないんだので、あなたがextramarginBottomextramarginTopの値を定義助けることができません、 PrintSet.defaultMargins,printSet.getHeaderMargins()、およびprintSet.getFooterMargins()についてはありません。

extramarginBottomが一番下に追加される高さであるのに対し、基本的には、extramarginTopは、先頭に追加する高さ:

enter image description here

+0

私はあなたの方法で質問を解決しました。高さ2Offset()メソッドを気にしないで、A4ページの実長さ210mm×297mm〜841x594のように、ページの実長をピクセルに変更するだけです。 –

関連する問題