Я работаю в проекте, где продукт зарегистрирован в ProductCode, который помогает генерировать штрих-код, если пользователь генерирует 2 или более штрих-кодов одного продукта, а затем создает PDF-файл с 1 штрих-кодом в каждой строке, которую я хотел, чтобы он появился. только одна страница
Document doc = new Document(new iTextSharp.text.Rectangle(25, 11), 5, 8, 1, 1);
int count = int.Parse(metroTextBox11.Text);
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/codes.pdf", FileMode.Create));
doc.Open();
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Price");
dt.Columns.Add("Des");
for (int i = 0; i < count; i++)
{
DataRow row = dt.NewRow();
row["ID"] = barcode;
row["Price"] = price;
row["Des"] = description;
dt.Rows.Add(row);
}
System.Drawing.Image img1 = null;
for (int i = 0; i < dt.Rows.Count; i++)
{
if (i != 0)
doc.NewPage();
PdfContentByte cb1 = writer.DirectContent;
BaseFont bf = BaseFont.CreateFont(BaseFont.TIMES_BOLDITALIC, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb1.SetFontAndSize(bf, 2.0f);
cb1.BeginText();
cb1.SetTextMatrix(1.2f, 8.5f);
cb1.ShowText("Aaraiz");
cb1.EndText();
PdfContentByte cb2 = writer.DirectContent;
BaseFont bf1 = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb2.SetFontAndSize(bf1, 1.0f);
cb2.BeginText();
cb2.SetTextMatrix(1.2f, 7.0f);
cb2.ShowText("Description: "+dt.Rows[i]["Price"].ToString());
cb2.EndText();
PdfContentByte cb = writer.DirectContentUnder;
Barcode128 bc = new Barcode128();
bc.TextAlignment = Element.ALIGN_CENTER;
bc.Font = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
bc.Code = dt.Rows[i]["ID"].ToString();
bc.AltText = "Code: " + dt.Rows[i]["ID"].ToString() + " Price: " + dt.Rows[i]["Price"].ToString();
bc.StartStopText = false;
bc.CodeType = iTextSharp.text.pdf.Barcode128.EAN13;
bc.Extended = true;
iTextSharp.text.Image img = bc.CreateImageWithBarcode(cb, iTextSharp.text.BaseColor.BLACK, iTextSharp.text.BaseColor.BLACK);
cb.SetTextMatrix(1.5f, 3.0f);
img.ScaleToFit(60, 5);
img.SetAbsolutePosition(1.5f, 1);
cb.AddImage(img);
}
doc.Close();
System.Diagnostics.Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/codes.pdf");
}
catch(Exception error)
{
MessageBox.Show(error.ToString());
}
finally
{
doc.Close();
}