我必须创建一个包含两个表的pdf文件.这两个表应该水平放在文档中.我试过这样的,
var doc1 = new Document(PageSize.A4); PdfWriter.GetInstance(doc1,new FileStream(path + "/" + pdf_name + "",FileMode.Create)); doc1.Open(); var table1 = new PdfPTable(1); //table1 table1.HorizontalAlignment = Element.ALIGN_LEFT; table1.SpacingBefore = 50; table1.DefaultCell.Border = 1; table1.WidthPercentage = 40; PdfPCell cell = new PdfPCell(new Phrase(student_name,boldTableFont)); // cell.Border = 1; // cell.HorizontalAlignment = 1; //0=Left,1=Centre,2=Right cell.HorizontalAlignment = Element.ALIGN_CENTER; table1.AddCell(cell); doc1.Add(table1); var table2= new PdfPTable(1); //table2 table2.DefaultCell.Border = 1; table2.HorizontalAlignment = 2; table2.SpacingBefore = 50; table2.WidthPercentage = 40; PdfPCell cell21 = new PdfPCell(new Phrase("success",body)); cell21.HorizontalAlignment = 1; //0=Left,2=Right table2.AddCell(cell21); doc1.Add(table2); doc1.Close();
但是第二个表并没有位于table1的右侧,其中spacingbefore = 50.请帮我找出问题所在
解决方法
您可能需要查看更新布局以使用列(有关详细信息,请参阅此处):
http://www.mikesdotnetting.com/Article/89/iTextSharp-Page-Layout-with-Columns
如果没有看到更多关于布局的信息,很难说基于哪个列的布局是最好的.
或者,您可以绝对定位表并以这种方式编写它们.
作为第三个选项(非常类似于旧的html页面),您可以嵌套这样的表:
PdfPTable outer = new PdfPTable(2); outer.AddCell(table1); outer.AddCell(table2); document.Add(outer);