Hello,
How does table positioning works?
I’ve used code snippet from your documentation Create AcroForm - Create Fillable PDF in C#|Aspose.PDF for .NET
I want to position table somehow using relative or absolute coordinates, it doesn’t matter for me. If I use table.Left and table.Top properties, my table does move but it still has some strange offset (please check the screenshoot attached). Additionally my table.ColumnWidths doesn’t work too. I expect each column to be exactly 100, but the result is defferent.
Can you please help me with this questions? Here is code example and files I’ve used.
using (Aspose.Pdf.Document document = new Aspose.Pdf.Document(@"C://sample.pdf"))
{
Aspose.Pdf.Page page = document.Pages[1];
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
table.ColumnWidths = "100 100 100";
page.Paragraphs.Add(table);
table.DefaultColumnWidth = "100";
table.Left = 200;
table.Top = 400;
Row r1 = table.Rows.Add();
Cell c1 = r1.Cells.Add();
Cell c2 = r1.Cells.Add();
Cell c3 = r1.Cells.Add();
table.Border = new BorderInfo(BorderSide.All, Color.Green);
table.DefaultCellBorder = new BorderInfo(BorderSide.All, Color.Blue);
RadioButtonField rf = new RadioButtonField(page);
rf.PartialName = "radio";
document.Form.Add(rf, 1);
RadioButtonOptionField opt1 = new RadioButtonOptionField();
RadioButtonOptionField opt2 = new RadioButtonOptionField();
RadioButtonOptionField opt3 = new RadioButtonOptionField();
opt1.OptionName = "Item1";
opt2.OptionName = "Item2";
opt3.OptionName = "Item3";
opt1.Width = 15;
opt1.Height = 15;
opt2.Width = 15;
opt2.Height = 15;
opt3.Width = 15;
opt3.Height = 15;
rf.Add(opt1);
rf.Add(opt2);
rf.Add(opt3);
opt1.Border = new Border(opt1);
opt1.Border.Width = 1;
opt1.Border.Style = BorderStyle.Solid;
opt1.Characteristics.Border = System.Drawing.Color.Black;
opt1.DefaultAppearance.TextColor = System.Drawing.Color.Red;
opt1.Caption = new TextFragment("Item1");
opt2.Border = new Border(opt1);
opt2.Border.Width = 1;
opt2.Border.Style = BorderStyle.Solid;
opt2.Characteristics.Border = System.Drawing.Color.Black;
opt2.DefaultAppearance.TextColor = System.Drawing.Color.Red;
opt2.Caption = new TextFragment("Item2");
opt3.Border = new Border(opt1);
opt3.Border.Width = 1;
opt3.Border.Style = BorderStyle.Solid;
opt3.Characteristics.Border = System.Drawing.Color.Black;
opt3.DefaultAppearance.TextColor = System.Drawing.Color.Red;
opt3.Caption = new TextFragment("Item3");
c1.Paragraphs.Add(opt1);
c2.Paragraphs.Add(opt2);
c3.Paragraphs.Add(opt3);
document.Save(@"C://result.pdf");
}
result.png (21.2 KB)
sample.zip (7.6 KB)