我是iTextShap的新手,我试图使用SetSimpleColumn
添加两个文本列,而第二列却没有定位到给定的x坐标。我已经浏览了很多互联网上的内容和版本的iTextSharp文档(5.5.13.2),我使用的内容并不多。
下面是我写的代码,我有遗漏什么吗?任何帮助都将不胜感激,谢谢!
Font f = new Font(baseFont, 8);
ColumnText ct2 = new ColumnText(writer.DirectContent);
ct2.SetSimpleColumn(29f, 587f, 220f, 100f, 11f, 0);
ct2.AddText(new Paragraph("PATIENT'S NAME:", f));
ct2.AddText(Chunk.NEWLINE);
ct2.AddText(new Paragraph("Street Address:", f));
ct2.AddText(Chunk.NEWLINE);
ct2.AddText(new Paragraph("Address 2:", f));
ct2.AddText(Chunk.NEWLINE);
ct2.AddText(new Paragraph("City, State:", f));
ct2.AddText(Chunk.NEWLINE);
ct2.AddText(new Paragraph("Zip Code:", f));
ct2.AddText(Chunk.NEWLINE);
ct2.AddText(new Paragraph("Telephone:", f));
ct2.Go();
ColumnText ct3 = new ColumnText(writer.DirectContent);
ct3.SetSimpleColumn(455.5f, 587f, 220f, 100f, 11f, 2);
ct3.AddText(new Paragraph("PRACTICE:", f) { Alignment = 0});
ct3.AddText(Chunk.NEWLINE);
ct3.AddText(new Paragraph("Street Address:", f));
ct3.AddText(Chunk.NEWLINE);
ct3.AddText(new Paragraph("Address 2:", f));
ct3.AddText(Chunk.NEWLINE);
ct3.AddText(new Paragraph("City, State:", f));
ct3.AddText(Chunk.NEWLINE);
ct3.AddText(new Paragraph("Zip Code:", f));
ct3.AddText(Chunk.NEWLINE);
ct3.AddText(new Paragraph("Telephone:", f));
ct3.AddText(Chunk.NEWLINE);
ct3.AddText(new Paragraph("Fax:", f));
ct3.Go();
发布于 2021-05-28 14:10:46
显然,对于SetSimpleColumn
方法的参数存在误解,您似乎假设前四个参数是x, y, width, height
。实际上,他们是x₁, y₁, x₂, y₂
。因此,当你这样做
ct3.SetSimpleColumn(455.5f, 587f, 220f, 100f, 11f, 2);
让列从x=220
开始,在x=455.5
结束。
你想要的更有可能是
ct3.SetSimpleColumn(455.5f, 587f, 455.5f + 220f, 587f + 100f, 11f, 2);
https://stackoverflow.com/questions/67727635
复制相似问题