2013-10-10 60 views
1

我有一個文本數據表,我想通過幾個空格縮進某些數據段,但是我嘗試的所有內容似乎都會導致我的字符串被自動修剪,並且前面的空格被刪除。因爲它是現在的PDF看起來是這樣的:MigraDoc:如何將前面的空格添加到字符串?

http://i.imgur.com/KBK6jWS.png

因此,例如,我想縮進「LiabilityOne」和「LiabilityTwo」了一下。我已經嘗試在字符串中添加空格,因爲它已呈現。在渲染前添加空格,使用'\ 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; 
} 
+1

需要更多的上下文。我不知道這張桌子是如何被這樣設計的。 –

+0

我更新了OP的代碼塊,希望有用。 – mkautzm

回答

相關問題