标签: migradoc

MigraDoc:如何在字符串中添加前面的空格?

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

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

因此,例如,我想稍微缩进'LiabilityOne'和'LiabilityTwo'.我已经尝试在String中添加空格了.在渲染之前添加空格,使用'\ 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 …
Run Code Online (Sandbox Code Playgroud)

c# pdf string pdfsharp migradoc

2
推荐指数
1
解决办法
4735
查看次数

带有MigraDoc的PDFsharp是否支持HTML语法?

带有MigraDoc的PDFsharp是否支持HTML语法?

<a> <strong> etc.
Run Code Online (Sandbox Code Playgroud)

如果是,如何在文档中实现它?

.net c# pdfsharp migradoc

2
推荐指数
1
解决办法
3948
查看次数

生成PDF时如何制作新页面?

我正在使用MigraDoc来生成PDF文档,我想创建一个新页面,以便第一个数据显示在第一页,第二个数据显示在第二页,等等...这就是我创建页面的方式:

        List<SIP_ImprovementPlans> s = db.MName.ToList();
        MigraDoc.DocumentObjectModel.Document document = new MigraDoc.DocumentObjectModel.Document();

        Section section = document.AddSection();
        section.PageSetup.TopMargin = Unit.FromCentimeter(4);
        Paragraph paragraph = new Paragraph();
        var heading1= paragraph = section.AddParagraph("heading1");
        document.AddSection();
        var heading2= paragraph = section.AddParagraph("heading2");
        document.AddSection();
        Heading3 etc....
Run Code Online (Sandbox Code Playgroud)

现在创建一个新页面,我可以这样做:section.AddPage();我也尝试过,document.AddPage(); 但是AddPage()行出现错误。这是为什么?错误消息显示,Error 1 'MigraDoc.DocumentObjectModel.Document' does not contain a definition for 'AddPage' and no extension method 'AddPage' accepting a first argument of type 'MigraDoc.DocumentObjectModel.Document' 如果我执行document.AddSection();此操作,则会创建新页面,但我希望标题1位于第一页,标题两个位于第二页,依此类推...目前,将标题1放置于第二页等...并在一个页面中创建新页面。

c# pdf migradoc

2
推荐指数
1
解决办法
1846
查看次数

新部分开始时页码重置 - MigraDoc

我正在使用 MigraDoc 创建 PDF。根据我的要求,我必须根据页面\部分的内容添加不同的标题。我可以通过添加新部分并为每个部分定义新标题来实现它。到这里为止,一切正常。
在页脚中,我使用“AddPageField”显示页码。但我意识到,每当新的部分开始时,页面字段都会重置为 1。页脚有什么方法可以继续所有部分的页数吗?
如果我在整个文档中仅使用一个部分,则页码将继续。但在这种情况下,我不能使用不同的标头。

pdfsharp migradoc

2
推荐指数
1
解决办法
1369
查看次数

对齐单元格,使文本在底部对齐

我想将TableCell中的文本对齐以与单元格的底部对齐。我在表格单元属性的任何地方都没有看到此选项。这是构建该表的代码片段。

        Table thirdTable = section.Headers.Primary.AddTable();

        thirdTable.Format.Font.Size = "7pt";

        column = thirdTable.AddColumn("1.5cm");
        column.Format.Alignment = ParagraphAlignment.Center;

        column = thirdTable.AddColumn("1cm");
        column.Format.Alignment = ParagraphAlignment.Center;

        column = thirdTable.AddColumn("7cm");
        column.Format.Alignment = ParagraphAlignment.Left;

        column = thirdTable.AddColumn("2.5cm");
        column.Format.Alignment = ParagraphAlignment.Center;

        column = thirdTable.AddColumn("1cm");
        column.Format.Alignment = ParagraphAlignment.Center;

        column = thirdTable.AddColumn("1.5cm");
        column.Format.Alignment = ParagraphAlignment.Center;

        column = thirdTable.AddColumn("1.5cm");
        column.Format.Alignment = ParagraphAlignment.Center;

        row = thirdTable.AddRow();
        row = thirdTable.AddRow();

        row.Cells[0].AddParagraph("Segment Code");
        row.Cells[1].AddParagraph("Milepoint");
        row.Cells[2].AddParagraph("Description of Milepoint");
        row.Cells[3].AddParagraph("City Name");
        row.Cells[4].AddParagraph("Segment Code");
        row.Cells[5].AddParagraph("Milepoint");
        row.Cells[6].AddParagraph("FA Route Number");
Run Code Online (Sandbox Code Playgroud)

c# pdfsharp migradoc

2
推荐指数
1
解决办法
1801
查看次数

在Migradoc PDF中删除表格单元格填充

我正在尝试删除Migradoc生成的PDF中的一些不需要的填充;但到目前为止没有运气。我去了Migradoc论坛,但找不到与我的问题相同的问题(我不想在另一个站点上注册以提出一个问题)。它是这样的: 表格单元格周围不必要的填充

我要删除的填充是每行各列之间的空白,即“ Artikel”和“ Beskrivning”之间的空白。您可以从下划线看到,在“ Beskrivning”列开始之前,“ Artikel”列就已结束。

我已经按照其他地方的建议尝试了所有常见的嫌疑犯,例如:

table.Borders.Width = 0;  
table.LeftPadding = 0; 
table.RightPadding = 0;
Run Code Online (Sandbox Code Playgroud)

等等。我也尝试过在每行和每个单元格上设置这些值,但是似乎没有任何效果。列的宽度似乎也不会对结果有任何影响:如果我使单元格变窄,它们将换行到新行,但是填充保持不变。

任何建议如何进行?

pdf-generation cellpadding migradoc

2
推荐指数
2
解决办法
3372
查看次数

MigraDoc表边框问题左缩进

我正在尝试使用MigraDoc创建PDF文档,并且当表包含左缩进时,我遇到表边框问题.

我将数据传递给以下函数来呈现表.

public void AddTable(int _iNumberOfColumns, double leftInd)
{
    table = section.AddTable();
    if (leftInd != 0d)
    {
        table.Format.LeftIndent = leftInd;
    }

    for (int i = 0; i < _iNumberOfColumns; i++)
    {
        Column col = table.AddColumn();
    }                
}
Run Code Online (Sandbox Code Playgroud)

在上面的方法中,我传递参数的double值leftInd.我认为,这是问题的原因.

添加单元格的代码如下.我正在通过bool变量来判断是否需要显示单元格边框...(要添加一行我只是调用row = table.AddRow();)

public void AddColumn(int _iCellNum, int iColspan, double dCellWidthInPt, System.Drawing.Color color, bool bTopBorder, bool bLeftBorder, bool bBottomBorder, bool bRightBorder)
{
    cell = row.Cells[_iCellNum];

    if (iColspan > 0)
    {
        cell.MergeRight = iColspan-1;
        for (int i = 0; …
Run Code Online (Sandbox Code Playgroud)

c# pdfsharp migradoc

2
推荐指数
1
解决办法
3324
查看次数

将多页 MigraDoc 文档添加到 PDFSharp 文档

在 Migradoc 和 PDFSharp 示例页面中,有一个将 Migradoc 文档绘制为 PDFSharp 文档:http://www.pdfsharp.net/wiki/MixMigraDocAndPdfSharp-sample.ashx

但是,如果我要渲染的 Migradoc 文档不止一页怎么办? 在 Migradoc 中,您不处理页面..它是自动完成的。

编辑:找到我的路

好吧,一旦你“ Prepare()”文档......你就有了FormattedDocument()方法,在那里你可以看到它最终有多少页。我在下面添加了我自己的回应。

pdfsharp migradoc

2
推荐指数
1
解决办法
1971
查看次数

MigraDoc:如何将垂直行间距应用于段落?

我正在使用MigraDoc创建PDF.除了设置段落的行间距外,一切正常.我希望段落行之间有更多的垂直空间.

到目前为止我尝试的内容没有对生成的PDF 进行任何更改:

string text = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam …
Run Code Online (Sandbox Code Playgroud)

pdf-generation pdfsharp paragraph migradoc line-spacing

2
推荐指数
1
解决办法
1158
查看次数

在 MigraDoc 中写入特殊的 UTF8 字符

我想在 MigraDoc pdf 文件中写入“?”字符。以下代码不显示字符。这是我的代码的一小部分。

PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer(false, embedding);
row.Cells[1].AddParagraph().AddFormattedText("aaaaa \u2588", new Font("Arial Unicode MS"));
Run Code Online (Sandbox Code Playgroud)

c# pdf utf-8 migradoc

2
推荐指数
1
解决办法
1280
查看次数