加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何使用itext sharp并排放置两个表

发布时间:2020-12-15 05:41:30 所属栏目:百科 来源:网络整理
导读:我必须创建一个包含两个表的pdf文件.这两个表应该水平放在文档中.我试过这样的, var doc1 = new Document(PageSize.A4); PdfWriter.GetInstance(doc1,new FileStream(path + "/" + pdf_name + "",FileMode.Create)); doc1.Open(); var table1 = new PdfPTabl
我必须创建一个包含两个表的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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读