nsd*_*sds 5 c# asp.net pdf-generation itextsharp
我必须创建一个带有两个表的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, 1=Centre, 2=Right
table2.AddCell(cell21);
doc1.Add(table2);
doc1.Close();
Run Code Online (Sandbox Code Playgroud)
但是第二个表不是在table1的右边,其间隔为before = 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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7664 次 |
| 最近记录: |