Как сделать квадрат с текстом внутри, используя MigraDoc + PDFsharp - PullRequest
0 голосов
/ 27 мая 2019

Я использую класс таблицы в унисон со столбцами и ячейками, чтобы добавить данные внутри, будучи изображениями или текстом, но я должен нарисовать что-то действительно странное, я не знаю, как повторить это, используя границы (если это возможно, даже).

Это следующее:

enter image description here

Так что это квадрат, внутри квадрата 2 абзаца, я бы сказал, горизонтально по центру.

Моя идея ... единственное, о чем я могу подумать (но я не знаю, является ли это лучшим решением), было бы создать таблицу с N строками и каждой строкой ячейку с левой и правой рамкой.за исключением первого и последнего, где он будет иметь верх и низ, затем .AddParagraph () для 1-й и последней ячейки.

1 Ответ

0 голосов
/ 27 мая 2019

Возможное решение будет:

private static Table DibujarSelloYFirma(Section sec)
{
    Table table = new Table();

    Column column = table.AddColumn(Unit.FromCentimeter(3));

    Row row = table.AddRow();

    Cell cell = row.Cells[0];
    cell.AddParagraph("SEAL COMMERCE");

    cell.Format.Alignment = ParagraphAlignment.Center;
    cell.VerticalAlignment = VerticalAlignment.Center;
    cell.Format.Font.Bold = true;
    cell.Format.Font.Size = 3;
    cell.Format.Font.Name = "Verdana";
    cell.Format.Font.Italic = true;
    cell.Borders.Right.Width = 0.5;
    cell.Borders.Left.Width = 0.5;
    cell.Borders.Top.Width = 0.5;

    for (int i = 0; i < 5; i++)
    {
        Row rowEmpty = table.AddRow();
        cell = rowEmpty.Cells[0];
        cell = rowEmpty.Cells[0];
        cell.Borders.Right.Width = 0.5;
        cell.Borders.Left.Width = 0.5;
    }

    Row rowFinal = table.AddRow();
    cell = rowFinal.Cells[0];
    cell.AddParagraph("FIRMA");
    cell.Format.Alignment = ParagraphAlignment.Center;
    cell.VerticalAlignment = VerticalAlignment.Center;
    cell.Format.Font.Bold = true;
    cell.Format.Font.Size = 3;
    cell.Format.Font.Name = "Verdana";
    cell.Format.Font.Italic = true;
    cell.Borders.Right.Width = 0.5;
    cell.Borders.Left.Width = 0.5;
    cell.Borders.Bottom.Width = 0.5;


    return table;
}
...