iTextSharp绝对定位(GridView) - c#

我在使用iTextSharp重叠表格时遇到问题。

我想使用iTextSharp将多个表(来自gridviews)写入pdf。

我只希望每个表之间有10px的间隙(垂直方向),并且表的高度总是不同的。

有人读过一篇文章可以帮助我解决这种情况吗?还是有什么建议?绝对定位对我不起作用。

参考方案

您可以将每个表放在iTextSharp.text.Paragraph中,并使用Paragraph对象的SpacingAfter属性创建间隙。

像这样的测试方法:

private static void DemoTableSpacing() {
    using (FileStream fs = new FileStream("SpacingTest.pdf", FileMode.Create)) {

        Document doc = new Document();
        PdfWriter.GetInstance(doc, fs);
        doc.Open();

        Paragraph paragraphTable1 = new Paragraph();
        paragraphTable1.SpacingAfter = 15f;

        PdfPTable table = new PdfPTable(3);
        PdfPCell cell = new PdfPCell(new Phrase("This is table 1"));
        cell.Colspan = 3;
        cell.HorizontalAlignment = 1;
        table.AddCell(cell);
        table.AddCell("Col 1 Row 1");
        table.AddCell("Col 2 Row 1");
        table.AddCell("Col 3 Row 1");
        //table.AddCell("Col 1 Row 2");
        //table.AddCell("Col 2 Row 2");
        //table.AddCell("Col 3 Row 2");
        paragraphTable1.Add(table);
        doc.Add(paragraphTable1);

        Paragraph paragraphTable2 = new Paragraph();
        paragraphTable2.SpacingAfter = 10f;

        table = new PdfPTable(3);
        cell = new PdfPCell(new Phrase("This is table 2"));
        cell.Colspan = 3;
        cell.HorizontalAlignment = 1;
        table.AddCell(cell);
        table.AddCell("Col 1 Row 1");
        table.AddCell("Col 2 Row 1");
        table.AddCell("Col 3 Row 1");
        table.AddCell("Col 1 Row 2");
        table.AddCell("Col 2 Row 2");
        table.AddCell("Col 3 Row 2");
        paragraphTable2.Add(table);
        doc.Add(paragraphTable2);
        doc.Close();
    }
}

这应该显示您可以做什么。尝试在第一个表中添加和删除行;您会看到两个表之间的空间始终存在并且不会改变。

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

ASP.NET Gridview ButtonField onclick触发包含行的onclick事件 - c#

我有一个gridview行,当单击该行时必须执行回发操作A,而在该行中单击该行时必须执行回发操作B的按钮字段。问题是,当我单击按钮字段时,会触发event1和event2。下面是代码。protected void gdv_RowCommand(object sender, GridViewCommandEventArgs e) { string arg = …

改造正在返回一个空的响应主体 - java

我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…

每个文件合并后添加换行 - python

我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…

如果未选中gridview复选框,则不显示确认消息框 - c#

我有gridview,它具有数据列和“应用”下面的一个按钮,用于执行某些操作。Gridview中的一列是复选框列。当您选中复选框并单击“应用”时,弹出确认消息,询问“确定吗?”。选择“是”和“否”。但是,如果未选中任何复选框,我想向用户显示一个弹出窗口以在执行操作之前选择一个复选框,而不显示确认消息弹出窗口。我现在所拥有的是,如果未选中任何复选框,则首先弹出…