2016-03-22 14 views
2

私はonlinelabels.com (ol2050LP)に適合するバーコードのページを作成しています。テーブルを使用したiTextSharp PDF埋め込みバーコード。 1ページにフォーマットできません

私はバーコードを正常に作成しましたが、期待したとおりにテーブルにうまく表示しています。

私が抱えている問題は、ページのバーコードの最後の2行をプッシュするページにいくつかのファンタムヘッダーとフッターがあるようです。

マイ結果:以下

enter image description here

は私の方法である:

public void CreatePDF(List<BarcodeLib.Barcode.DataMatrix> listOfBarcodes) 
     { 
      if (listOfBarcodes.Count >= 1) 
      { 
       Document document = new Document(); 
       PdfPTable table = new PdfPTable(13); 
       document.SetPageSize(PageSize.A4); 
       document.SetMargins(0.25f, 0.25f, 0.2505f, 0.2505f); 

       try 
       { 
        PdfWriter.GetInstance(document, new FileStream(@"test.pdf", FileMode.CreateNew)); 
        document.Open(); 
        foreach (BarcodeLib.Barcode.DataMatrix image in listOfBarcodes) 
        { 
         iTextSharp.text.Image dmatrix = iTextSharp.text.Image.GetInstance(image.drawBarcodeAsBytes(), true); 
         dmatrix.SetDpi(300, 300); 
         dmatrix.ScaleAbsolute(37, 37); 
         table.AddCell(dmatrix); 
        } 
        document.Add(table); 
        document.Close(); 
       } 
       catch (DocumentException de) 
       { 
        Console.Error.WriteLine(de.Message); 
       } 
       catch (IOException ioe) 
       { 
        Console.Error.WriteLine(ioe.Message); 
       } 
      } 
     } 
+0

without SetMarginswith SetMargins

SetMarginsなし(左)、(右)私はこのすべてあなたのコード?あなたのスクリーンショットを見ると、あなたのテーブルのデフォルトのセルのパディングは異なっているように見えますが、それは単にコーヒーの欠如かもしれません。とにかく、そのコード(私自身のサンプル画像あり)は、テーブルが一番上に並んでいる状態で私の期待どおりに動作します。 –

+0

迅速な対応をありがとう。私はテーブルを上手く整列させた。提供されるコードは、すべてのiTextSharpが起こる場所です。私の画像(バーコード)は、余白なしで生成されます。ラベルは、ラベルに正確に収まると仮定しています(左から右へ)。最初のページに縦に少なくとももう1つの行のための十分なスペースがあるように見えます。私はちょうどどの要素がそれを埋めているのか分かりません。 – devSteve

答えて

1

ドキュメント開く前に、あなたはそれを行う必要があります。

Document document = new Document(); 
document.SetMargins(0f, 0f, 0f, 0f); 

UPDATEを!より

document.Open(); 

はここでそれは私のプログラムで動作する方法は次のとおりです。SetMargins

+0

私はそれを初期化する前にDocumentオブジェクトのプロパティを変更したいのですか? 余白パラメータでドキュメントオブジェクトを初期化する以外に、これがどのように可能かわかりません。 'ドキュメントドキュメント=新しいドキュメント(PageSize.LETTER、0f、0f、0f、0f) ' – devSteve

+0

残念ながら、私は余白を設定した後にドキュメントを開くことを意味しました。 document.SetMargins(0f、0f、0f、0f); document.Open(); –

+0

が私の答えを更新しました。 –

関連する問題