MigraDoc:如何将前面的空格添加到字符串中

本文关键字:添加 空格 字符串 前面 MigraDoc | 更新日期: 2023-09-27 18:34:51

我有一个文本数据表,我想用几个空格缩进某些数据片段,但我尝试的所有内容似乎都会导致我的字符串被自动修剪,并且前面的空格被删除。 现在的 PDF 看起来像这样:

https://i.stack.imgur.com/FpEsX.png

例如,我想稍微缩进"责任一"和"责任二"。我尝试在呈现字符串时在字符串中添加空格。 在渲染之前添加空格,使用"''x020"希望能够坚持并使用PadLeft(String.Length + 2,' '(,所有这些都没有运气。

当然,有一种方法可以在这些字符串中添加一些前面的空格。 我该怎么做?

编辑:

上下文 -- 这是为右侧表的后半部分生成内容的方法。 其他一切都非常相似。

private void DrawStaticLiabilities()
{
    _PdfVerticalOffset = 85 + (_PdfRowsFSRight * _PdfRowHeight);
    Document tDoc = new Document();
    MigraDoc.DocumentObjectModel.Style style = tDoc.Styles["Normal"];
    style.Font.Name = tPdfFont;
    style.Font.Size = 10;
    Section tSec = tDoc.AddSection();
    MigraDoc.DocumentObjectModel.Tables.Table table2 = new MigraDoc.DocumentObjectModel.Tables.Table();
    table2 = tSec.AddTable();
    table2.Borders.Width = 0.2;
    table2.Rows.LeftIndent = 0;
    Column columnData2 = table2.AddColumn("295pt");
    Column columnValue2 = table2.AddColumn("70pt");
    columnValue2.Borders.Right.Visible = false;
    Row rowAb = table2.AddRow();
    rowAb.Borders.Top.Visible = true;
    rowAb.Borders.Bottom.Visible = false;
    rowAb.Cells[0].AddParagraph(MP.FormFinancialStatement.StaticLiabilites.TopLine);
    rowAb.Cells[1].AddParagraph("");
    Row row1b = table2.AddRow();
    row1b.Borders.Bottom.Visible = false;
    row1b.Cells[0].AddParagraph("  Intermediate Liabilities  (" + MP.FormFinancialStatement.StaticLiabilites.IntLiabilitiesText + ")");
    row1b.Cells[1].Format.Alignment = ParagraphAlignment.Right;
    row1b.Cells[1].AddParagraph(MP.FormFinancialStatement.StaticLiabilites.IntLiabilitiesValue);
    Row row2b = table2.AddRow();
    row2b.Borders.Bottom.Visible = false;
    row2b.Cells[0].AddParagraph("  Long Term Liabilities (" + MP.FormFinancialStatement.StaticLiabilites.LongLiabilitiesText + ")");
    row2b.Cells[1].Format.Alignment = ParagraphAlignment.Right;
    row2b.Cells[1].AddParagraph(MP.FormFinancialStatement.StaticLiabilites.LongLiabilitiesValue);
    Row row3b = table2.AddRow();
    row3b.Borders.Bottom.Visible = false;
    row3b.Cells[0].AddParagraph("  Accrued Interest On: (" + MP.FormFinancialStatement.StaticLiabilites.AccruedInterestText + ")");
    row3b.Cells[1].AddParagraph("");
    Row row4b = table2.AddRow();
    row4b.Borders.Bottom.Visible = false;
    row4b.Cells[0].AddParagraph("  Accounts and Notes Payable(" + MP.FormFinancialStatement.StaticLiabilites.AccountsPayableText + ")");
    row4b.Cells[1].Format.Alignment = ParagraphAlignment.Right;
    row4b.Cells[1].AddParagraph(MP.FormFinancialStatement.StaticLiabilites.AccountsPayableValue);
    Row row5b = table2.AddRow();
    row5b.Borders.Bottom.Visible = false;
    row5b.Cells[0].AddParagraph("  Intermediate Liabilities (" + MP.FormFinancialStatement.StaticLiabilites.OtherIntLiabilitiesText + ")");
    row5b.Cells[1].Format.Alignment = ParagraphAlignment.Right;
    row5b.Cells[1].AddParagraph(MP.FormFinancialStatement.StaticLiabilites.OtherIntLiabilitiesValue);
    Row row6b = table2.AddRow();
    row6b.Borders.Bottom.Visible = false;
    row6b.Cells[0].AddParagraph("  Long Term Liabilities (" + MP.FormFinancialStatement.StaticLiabilites.OtherLongLiabilitiesText + ")");
    row6b.Cells[1].Format.Alignment = ParagraphAlignment.Right;
         row6b.Cells[1].AddParagraph(MP.FormFinancialStatement.StaticLiabilites.OtherLongLiabilitiesValue);
    MigraDoc.Rendering.DocumentRenderer docRenderer = new DocumentRenderer(tDoc);
    docRenderer.PrepareDocument();
    docRenderer.RenderObject(gfx, 405, _PdfVerticalOffset, "365pt", table2);
    _PdfRowsFSRight += 8;
}

MigraDoc:如何将前面的空格添加到字符串中

要使用 MigraDoc 获取多个相邻空格,只需使用不间断空格(按 Alt+<255>(。

另请参阅:
http://forum.pdfsharp.net/viewtopic.php?p=1304#p1304