MigraDoc:如何在字符串中添加前面的空格? [英] MigraDoc: How do I add preceding spaces to a String?
问题描述
我有一个文本数据表,我想将某些数据缩进几个空格,但是我尝试执行的所有操作似乎都导致我的字符串被自动修剪,并且前面的空格也被删除了.现在的PDF看起来像这样:
I have a table of text data and I'd like to indent certain pieces of data by a couple spaces, but everything I try seems to result in my string being automatically trimmed, and the preceding spaces are deleted. The PDF as it is right now looks something like this:
http://i.imgur.com/KBK6jWS.png
例如,我想稍微缩进'LiabilityOne'和'LiabilityTwo'.我试过在呈现字符串时在字符串中添加空格.在渲染之前添加空格,希望使用'\ x020'并坚持使用PadLeft(String.Length + 2,''),所有这些都没有运气.
So for example, I'd like to indent 'LiabilityOne' and 'LiabilityTwo' a bit. I've tried adding spaces in the String as it's rendered. Adding spaces before it's rendered, using '\x020' in hopes that'd stick and using PadLeft(String.Length + 2, ' '), all with no luck.
当然,有一种方法可以将一些前面的空格添加到这些字符串中.我该怎么办?
Certainly there is a way I can just add some preceding spaces to these strings. How can I do it?
上下文-这是一种为右侧表的后半部分生成内容的方法.其他一切都非常相似.
Context -- This is the method that generates the content for the second half of the table on the right. Everything else is very similar.
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获得多个相邻的空格,只需使用不间断空格(按Alt +< 255>).
To get more than one adjacent spaces with MigraDoc, simply use non-breaking spaces (press Alt+<255>).
另请参阅:
http://forum.pdfsharp.net/viewtopic.php?p=1304#p1304
See also:
http://forum.pdfsharp.net/viewtopic.php?p=1304#p1304
这篇关于MigraDoc:如何在字符串中添加前面的空格?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!