2017-02-06 9 views
0

iText PDFPTableを使用しています。私たちが直面している問題は、次のコード行は次のとおりです。iText PDFPTable setHeaderRows messing alignment

table.setHeaderRows(headerRows); 

コードのこの作品は、ローカル環境では正常に動作します(ウィンドウでホストされている)が、動作しません、アライメントはdev内、めちゃくちゃれますサーバー(WASはUnixでホストされています)。どちらの場合もIEが使用されているので、問題が何であるか把握することはできません。誰かがアライメントの問題がdevサーバーに出てくる理由を答えることができますか?より多くのコードを追加し ...標準テーブルを作成 方法:

public PdfPTable createStandardTable(int columnCount, int headerRows) { 
    zebraTable = true; 
    horizontalBorders = false; 

    PdfPTableEvent tableEvent = new PdfPTableEvent() 
    { 
     // begin (another) anonymous inner class extends PdfPTableEvent 
     @Override 
     public void tableLayout(PdfPTable table, float[][] width, float[] height, 
       int headerRows, int rowStart, PdfContentByte[] canvas) { 
      // code provided by Bruno Lowagie, author of iText, via StackOverflow. 
      float widths[] = width[0]; 
      float x1 = widths[0]; 
      float x2 = widths[widths.length - 1]; 
      float y = height[height.length - 1]; 
      PdfContentByte cb = canvas[PdfPTable.LINECANVAS]; 
      cb.moveTo(x1, y); 
      cb.lineTo(x2, y); 
      cb.setColorStroke(TABLE_BORDER_COLOR); 
      cb.stroke(); 
     } 
     // end anonymous inner class extends PdfPTableEvent 
    }; 

    PdfPTable table = tableCreationHelper(columnCount, headerRows); 
    table.setTableEvent(tableEvent); 
    return table; 
} 

プライベートヘルパーメソッド

private PdfPTable tableCreationHelper(int columnCount, int headerRows) { 
    PdfPTable table = new PdfPTable(columnCount); 
    table.setSpacingBefore(TABLE_SPACING); 
    table.setSpacingAfter(TABLE_SPACING); 
    table.setWidthPercentage(TABLE_WIDTH_PERCENT); 
    table.setHeaderRows(headerRows); 
    return table; 
} 

バブー、あなたが

おかげでより多くの情報が必要な場合は私に知らせ ください。

+0

*「誰かが、アライメントの問題がdevサーバーに出てくる理由を答えることができますか?」 - ほとんどありません:適切な分析を可能にするのに十分なコードと情報を提供していない限り、 – mkl

+0

わかりやすくするためにコードを追加しました。詳細が必要な場合はお知らせください。 – Bab

+0

これはまだ実行するのに十分なコードではありませんが、それらの環境で異なる結果を提供する[sscce](http://sscce.org/)を提供するようにしてください。ただし、各環境のPDFを2つ共有することはできますが、どちらも同じに見えるはずですが、同じではありません。おそらく何かがその内容から派生する可能性があります。 – mkl

答えて

0

私は問題を把握しました。 DevサーバーのiTextバージョンは5.5.0で、ローカル構成は5.5.2です。 iText 5.5.0のsetHeadersRow関数が整列を乱した。