Как настроить таблицу iTextsharp "ячейки" с помощью элементов управления winform
Я немного застрял, и это мой первый раз, когда я использую iTextsharp, я пытаюсь создать приложение C#, которое генерирует случайные числа, а затем печатает его в PDF-файл в виде отчета о метке, пользователь будет иметь панель и метку в Ведьме, которую он может переместить в любое место на панели и может изменить размер панели, а также добавить изображение в качестве фонового изображения .
Теперь после того, как пользователь введет указанный размер и "перетащит" метку в нужное место внутри панели и выберет изображение в качестве фонового изображения, мой код начнет создавать таблицу iTextsharp с количеством столбцов и строк в зависимости от ввода пользователя, и каждая ячейка должна быть такого же размера, как панель из формы, и иметь такое же фоновое изображение, а текст должен быть в том же месте, что и у пользователя.,
То, что работает:
1-перетаскивание работает нормально.
2 - я могу распечатать ячейки таблицы с точным размером в качестве пользовательского ввода.
Вещи, которые не работают:
1 - я могу добавить изображение, но не могу растянуть его до размера ячейки при печати в PDF
2 - я не могу выровнять текст в точном положении, только (CENTER, TOP_LEFT, ..etc)
3 - я не могу добавить текст поверх изображения
Это скриншот формы :http://imgur.com/a/LAnSX
Это код для создания таблицы и добавления изображения и текста
private iTextSharp.text.Image myImage; private ImagePath = "path"; private void ExportToPDF_Click(object sender, EventArgs e) { try { saveFileDialog1.Filter = "pdf File |*.pdf"; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { FilePath = saveFileDialog1.FileName.ToString(); //create the pdf file and open it FileStream fs = new FileStream(FilePath, FileMode.Create, FileAccess.Write, FileShare.None); Document document = new Document(PageSize.A4, pageLeftMargen, pageRightMargen, pageTopMargen, pageBottomMargen); PdfWriter writer = PdfWriter.GetInstance(document, fs); document.Open(); //create the table and set width and height PdfPTable table = new PdfPTable(Get_Columens_Count()); table.LockedWidth = true; table.TotalWidth = Get_Tabel_Width(); //set the size for evey Cell float[] a = new float[Get_Columens_Count()]; for (int i = 0; i < Get_Columens_Count(); i++) { a[i] = Convert.ToInt32(Get_CellsWidth()); } table.SetWidths(a); //Add new cell PdfPCell cell = new PdfPCell(); cell.BorderWidth = CellBorderWidth; cell.Padding = CellsPadding; cell.FixedHeight = Convert.ToInt32(Get_Cells_Height()); if (checkBox1.Checked == true && File.Exists(ImagePath) == true) { //set the image myImage = iTextSharp.text.Image.GetInstance(ImagePath); cell.AddElement(myImage); } //start creating the cells for (int i = 0; i < Convert.ToInt32(Get_Records_Count()); i++) { table.AddCell(cell); } document.Add(table); document.Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); throw; } }
Что я уже пробовал:
Что я пробовал :
Почти все, что я мог бы попытаться найти, погуглив и поискав формы, кажется, ничего не работает как разыскиваемое.
ScaleAbsolute ScaleToFit
и еще много чего, чего я сейчас не могу вспомнить .
есть ли лучшая протяжка, чем та, которую я использую ?
заранее спасибо :)