У меня есть таблица MigraDoc, где я указываю высоту строки 0,75 см, а текст выравнивается по вертикали в середине ячейки. Когда я устанавливаю cell.Format.Shading.Color на что-то не белое, все еще есть часть ячейки рядом с границей, которая показана как белая вокруг всех четырех сторон.Как установить цвет фона ячейки в таблице MigraDoc
Я обнаружил, что я могу удалить белый раздел слева и справа от текста, установив column.LeftPadding = 0 и column.RightPadding = 0. Однако я не могу понять, как получить белые полосы вверху/нижней части текста, чтобы исчезнуть, не затрагивая вертикальное выравнивание текста. Если я изменю высоту строки абзаца до 0,75 см, полосы исчезнут, но текст будет выровнен по нижнему краю в ячейке. Я не могу установить цвет затенения колонок, потому что каждая ячейка в столбце содержит другой цвет. Кто-нибудь знает способ заставить абзац заполнить ячейку по вертикали (или иначе получить цвет фона в форме в ячейке)?
Вот пример моего кода (в C#), где таблица имеет тип MigraDoc.DocumentObjectModel.Tables.Table:
...
// Add a column at index #2
var column = table.AddColumn();
column.LeftPadding = 0;
column.RightPadding = 0;
// Add more columns
...
// Iterate through the data printed in each row
foreach (var rowData in myData)
{
// Create a row for the data
var row = table.AddRow();
row.Height = ".75cm";
row.Format.Font.Size = 11;
row.VerticalAlignment = VerticalAlignment.Center;
...
// The following is for illustrative purposes... the actual
// colors and text is determined by the data within the cell
var cell = row.Cells[2];
cell.Format.Shading.Color = Colors.Black;
cell.Format.Font.Color = Colors.White;
var paragraph = cell.AddParagraph("Example");
...
}
Я знал, что должен быть способ сделать это правильно. Моим взломам было добавление дополнительного абзаца и установка высоты линии двух абзацев до тех пор, пока не будет согласовано вертикальное выравнивание, и ячейка была полностью заполнена. –