iTextSharp PDF встроенные штрих-коды с использованием таблиц. Невозможно отформатировать на одной странице

Я создаю страницу штрих-кодов для размещения на onlinelabels.com (ol2050LP).

Я успешно произвел штрих-коды, а также отобразил их в таблице, как я и ожидал.

Проблема, с которой я столкнулся, заключается в том, что кажется, что на странице есть какой-то фантомный верхний и нижний колонтитулы, выдвигающие последние 2 строки штрих-кодов страницы.

Мои результаты:

Ниже мой метод:

 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);
                }
            }
        }

1 ответ

Вы должны сделать это, прежде чем открыть документ:

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

ОБНОВИТЬ!

чем:

document.Open();

Вот как это работает в моей программе:

без SetMargins с SetMargins

(Слева) без SetMargins, (справа) с SetMargins

Другие вопросы по тегам