Итак, я пытаюсь прочитать файл построчно и записать их в несколько PDF-файлов, каждый PDF-файл должен содержать только 50 строк, если один PDF заполнен, тогда будет создан другой, пока все строки не будут закончены.
Я почти закончил.Но проблема в том, что каждый раз только первый PDF-файл имеет содержимое.Остальные все пусты.Вот мой код.
if ((System.IO.File.Exists(@"C:\Coil master 28-02-2019.csv")) == true)
{
int lineNumber = 1;
int PDFNumber = 0;
for (; PDFNumber < 4; PDFNumber++)
{
string path = Application.StartupPath;
var pgSize = new iTextSharp.text.Rectangle(2976, 4194);
Document pdfdoc = new Document(pgSize); // Setting the page size for the PDF
PdfWriter writer = PdfWriter.GetInstance(pdfdoc, new FileStream(path + "/MasterCoils/" + (1 + (50 * PDFNumber)) + "-" + (50 + (PDFNumber * 50)) + ".pdf", FileMode.Create)); //Using the PDF Writer class to generate the PDF
pdfdoc.Open(); // Opening the PDF to write the data from the textbox
foreach (string line in System.IO.File.ReadLines(@"C:\Coil master 28-02-2019.csv").Skip(1 + (50 * PDFNumber)).Take(50))
{
string[] inputArray = line.Split(delimiters); // split the input string by using the delimiter ','
COILID = inputArray[0];
TYPE = inputArray[1];
COLOR = inputArray[2];
WEIGHT = Int32.Parse(inputArray[3]);
GAUGE = inputArray[4];
WIDTH = inputArray[5];
PdfContentByte cb = writer.DirectContent;
// we tell the ContentByte we're ready to draw text
cb.BeginText();
// set up Font and Size for Content to be shown in PDF
BaseFont mybf = BaseFont.CreateFont(BaseFont.HELVETICA_BOLD, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb.SetFontAndSize(mybf, 15);
cb.SetTextMatrix(250 + (595 * i), (419 * (9 - j)) + 280);
cb.ShowText(COILID + "+" + TYPE + "+" + COLOR + "+" + WEIGHT + "+" + GAUGE + "+" + WIDTH);
// we tell the contentByte, we've finished drawing text
cb.EndText();
lineNumber++;
}
pdfdoc.Close();
}
}
Если я удалю оператор foreach, тогда все PDF-файлы будут иметь некоторое содержимое.Так что я думаю, что проблема от foreach, но я не мог найти точно, где это не так.Пожалуйста, помогите мне.Спасибо!