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