Вы можете установить table.Rows.LeftIndent для отступов таблицы. Чтобы получить центрированную таблицу, вычислите отступ на основе размера бумаги, полей страницы и ширины таблицы.
Пример: Размер бумаги A4 (ширина 21 см), левое и правое поля 2,5 см каждая. Таким образом, у нас есть страница размером 16 см.
Для центровки стола шириной 12 см, стола. Рамки должны быть установлены на 2 см (ширина стола 16 см минус 12 см. Ширина стола составляет 4 см. Остальное пространство - половина оставшегося пространства должна быть установлена как левая сторона).
Из фрагмента кода в исходном вопросе удалите table.Format.Alignment=ParagraphAlignment.Center;
и замените его на table.Rows.LeftIndent="2cm";
.
Обратите внимание, что это также будет работать, если таблица немного шире, чем тело, но все же в пределах границ страницы. Используя настройку страницы из предыдущего примера, таблица шириной 18 см может быть центрирована с помощью LeftIndent на -1 см.
Пример кода (таблица имеет только один столбец):
var doc = new Document();
var sec = doc.AddSection();
// Magic: To read the default values for LeftMargin, RightMargin &c.
// assign a clone of DefaultPageSetup.
// Do not assign DefaultPageSetup directly, never modify DefaultPageSetup.
sec.PageSetup = doc.DefaultPageSetup.Clone();
var table = sec.AddTable();
// For simplicity, a single column is used here. Column width == table width.
var tableWidth = Unit.FromCentimeter(8);
table.AddColumn(tableWidth);
var leftIndentToCenterTable = (sec.PageSetup.PageWidth.Centimeter -
sec.PageSetup.LeftMargin.Centimeter -
sec.PageSetup.RightMargin.Centimeter -
tableWidth.Centimeter)/2;
table.Rows.LeftIndent = Unit.FromCentimeter(leftIndentToCenterTable);
table.Borders.Width = 0.5;
var row = table.AddRow();
row.Cells[0].AddParagraph("Hello, World!");
Пример кода использует сантиметровую для расчетов. Вы также можете использовать Inches, Millimeter, Picas или Points. Размер страницы по умолчанию - A4, а в образце LeftIndent будет 4 см.
Он решает, спасибо! – MartinaLabMath
дайте пример расчета, а не просто описание – JJS
нижний нисходящий пример без кода. Измените вопрос и добавьте образец кода, и я перейду на верхнюю часть. Линус Торвальдс «Обсуждение дешево, покажите мне код» – JJS