标签: migradoc

KeepWith抛出Object引用未设置为对象的实例

希望有人在那里可能有同样的问题,并找到了解决方案.

我正在尝试将表中的某些行设置为要分组,以便如果一行落入下一页,则其他行也将转到该下一页.

我正在使用PdfSharp和Migradoc将行KeepWith属性设置为我想要保持附加的行的索引.

IE:

var row = myTable.AddRow();
var rowIndex = row.Index;

foreach (var term in terms)
{
  row = myTable.AddRow();

  if (term.name == "group")
  {
    row.KeepWith = rowIndex;
  }
}
Run Code Online (Sandbox Code Playgroud)

当我尝试加载pdf时,我得到一个'对象引用未设置为对象的实例'错误抛出,无法弄清楚原因.任何帮助都会很棒.

pdfsharp migradoc

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

MigraDoc图表中数据值的不同颜色

我在C#应用程序中使用MigraDoc创建了以下图表:

Chart chart = new Chart(ChartType.Bar2D);
chart.Width = "10cm";
chart.Height = "10cm";
Series series = chart.SeriesCollection.AddSeries();
series.Add(new double[] { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 });
XSeries xseries = chart.XValues.AddXSeries();
xseries.Add("A", "B", "C", "D", "E", "F", "G", "H", "I", "J");
chart.XAxis.MajorTickMark = TickMarkType.Outside;
chart.XAxis.Title.Caption = "X-Axis";
chart.YAxis.MajorTickMark = TickMarkType.Outside;
chart.YAxis.HasMajorGridlines = true;
chart.PlotArea.LineFormat.Color = Colors.AliceBlue;
chart.PlotArea.LineFormat.Width = 1;
chart.PlotArea.LineFormat.Visible = true;
MigraDocObject.Add(chart);
Run Code Online (Sandbox Code Playgroud)

现在让我说我想成为酒吧A Colors.AliceBlue和酒吧B in Colors.DarkGray.我怎么能做到这一点?是否可以通过官方API?或者我必须攻击MigraDoc?

.net c# migradoc

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

Migradoc封面图片

我需要找到一种方法,如何用.png图片填充整个封面页,并在页面的底部放置一些文本,图片不会.

现在我通过使用它来伸展它:

document.DefaultPageSetup.LeftMargin = 0;
document.DefaultPageSetup.TopMargin = 0; 
Run Code Online (Sandbox Code Playgroud)

但是上边距仍然留下了som mm的空间(而不是顶部有一些白色的图片.)

PS将来我需要在封面图片上面放一张图片.所以它实际上必须是2层.有什么建议?

c# pdfsharp migradoc

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

在MigraDoc中对齐图像

我想创建一个应该包含一个表的PDF文件,在这个表下面有三个图像; 图像应该有一个水平布局(它们应该在同一条线上).如何在MigraDoc中对齐三幅图像?如果我以这种方式添加图像

   document.LastSection.AddImage("path1");
   document.LastSection.AddImage("path2");
   document.LastSection.AddImage("path2");
Run Code Online (Sandbox Code Playgroud)

我在桌子下面获得了三张垂直布局的图像.如果我使用

   document.LastSection.LastParagraph.AddImage("...");
Run Code Online (Sandbox Code Playgroud)

代替

   document.LastSection.AddImage("...") 
Run Code Online (Sandbox Code Playgroud)

我解决了这个问题但是我引入了一个新问题.我添加的表格

  var table1 = new Table();
  .....
  document.LastSection.Add(table1);
Run Code Online (Sandbox Code Playgroud)

出现在三张图片下面.

我该怎么做才能获得桌子和桌子下面的水平布局三幅图像?

c# pdf migradoc

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

在 MigraDoc 中将页码与右角对齐

我知道如何显示页码以及如何在页脚中对齐它们。但是我的问题是我的页脚包含一些自定义文本,这些文本应该左对齐,页码应该与右角对齐。

 string footer = "My custom footer";
 Paragraph footerParagraph = section.Footers.Primary.AddParagraph(footer);
 footerParagraph.AddTab();
 footerParagraph.AddPageField();
Run Code Online (Sandbox Code Playgroud)

上面将为第 1 页生成“我的自定义页脚 1”,我需要页面 nmuber 位于页面的最右上角。我可以添加额外的空格或制表符,但我认为必须有一种干净的方法来实现这一点。谢谢。

c# pdf-generation pdfsharp migradoc

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

Migradoc 在文本旁边设置图像

我想在表格单元格中的某些文本的右侧浮动图像。

cell.AddParagraph("some text");
cell.AddParagraph("next line other text");

Paragraph p = cell.AddParagraph();
p.Format.Alignment = ParagraphAlignment.Right;
p.Format.RightIndent = 12;
Image image = p.AddImage("image.png");
image.ScaleWidth = 0.07;
Run Code Online (Sandbox Code Playgroud)

此代码将图像放在右侧,但我无法将其向上移动。

p.Format.Linespacing = -10;

image.WrapFormat.DistanceTop = -10;
Run Code Online (Sandbox Code Playgroud)

这些设置不起作用。

pdf pdf-generation image pdfsharp migradoc

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

无法使用 MigraDoc/PDFsharp 打印

我将 NuGet 包添加到我的项目中:

PDFsharp + MigraDoc

版本:1.50.4790-beta5a(预发行)

添加了参考文献:

MigraDoc.DocumentObjectModel

MigraDoc.Rendering

MigraDoc.RtfRendering

pdfSharp

PdfSharp.图表

我正在使用 VS2013,针对 .NET Framework 4.5。

没有MigraDocPrintDocument类/命名空间,也没有Printing.MigraDocPrintDocument ...

另外,我尝试将PagePreview控件添加到我的表单中(我正在开发 Windows.Forms 应用程序),但没有这样的控件,也无法将此类项目从 dll/包添加到我的工具箱中。

我已经将 PDF 文档制作得非常简单,但现在我陷入了最后一步,看不到曙光。需要打印到热敏打印机。

我的代码的一小段:

public void PrintMigraDoc(Bitmap ImagenBMP, string nombre, string apellido, string documento, string nacimiento, string nacionalidad, string grupo)
{
    //Save image in greyscale
    Bitmap bmp = GrayScale(ImagenBMP);
    bmp.Save("foto_grey.bmp");
    
    //Create document
    Document document = new Document();
    //Custom Normal Style
    Style style = document.Styles["Normal"];
    style.Font.Name = "Calibri";
    style.Font.Size = 6;

    //Sections …
Run Code Online (Sandbox Code Playgroud)

c# pdf visual-studio migradoc

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

带有MigraDoc/PDFsharp的日文字符

我在我的本地机器上使用MigraDoc生成PDF文档.日文字符显示不正确.

我正在使用下面的说明生成带有Unicode的文档.

var document = new MigraDoc.DocumentObjectModel.Document();
//Do stuff...
PdfDocumentRenderer renderer = new PdfDocumentRenderer(true, PdfSharp.Pdf.PdfFontEmbedding.Always);
renderer.Document = document;
Run Code Online (Sandbox Code Playgroud)

这适用于某些非ASCII字符(强调字母),但不适用于日文字符.

从PDFsharp网站上的示例来看,我认为我应该使用PdfDocument(而不是Migradoc文档)对象,向该文档添加页面,并使用Migradoc对象填充页面

http://www.pdfsharp.net/wiki/MixMigraDocAndPdfSharp-sample.ashx

但是,我已经使用Migradoc创建了一个复杂的多页文档结构; 所以我希望能够按原样重复使用它(例如将它包含在一个PdfDocument中)

任何的想法?

谢谢

c# unicode pdfsharp migradoc

0
推荐指数
1
解决办法
2247
查看次数

将单元格内的图像向右对齐不起作用

我需要在标题上将图像右对齐。这是我的代码:

Section section = document.AddSection();
table = section.Headers.Primary.AddTable();

var column = table.AddColumn("5cm");
column.Format.Alignment = ParagraphAlignment.Left;

column = table.AddColumn("8cm");
column.Format.Alignment = ParagraphAlignment.Left;

column = table.AddColumn("4cm");
column.Format.Alignment = ParagraphAlignment.Right;

eRow.Cells[0].AddParagraph("Some text");
eRow.Cells[1].AddParagraph("Some text");

eRow.Cells[2].Format.Alignment = ParagraphAlignment.Right;

image = eRow.Cells[2].Elements.AddImage(imagePath);

image.LockAspectRatio = false;
image.Width = Unit.FromInch(0.16);
image.Height = Unit.FromInch(0.09);

image.RelativeVertical = RelativeVertical.Line;
image.RelativeHorizontal = RelativeHorizontal.Margin;
image.Top = ShapePosition.Top;
image.Left = ShapePosition.Right;
image.WrapFormat.Style = WrapStyle.Through;
Run Code Online (Sandbox Code Playgroud)

但这总是在左边,请帮忙吗?

pdfsharp migradoc

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

如何将截面区域中的表格与PDFsharp或MigraDoc对齐?

如何在截面区域中对齐表格?

MigraDoc.DocumentObjectModel.Tables.Table tFirma = section.Footers.Primary.AddTable();
MigraDoc.DocumentObjectModel.Tables.Column cFirma = tFirma.AddColumn(MigraDoc.DocumentObjectModel.Unit.FromCentimeter(3));//Tamaño de la coluna
MigraDoc.DocumentObjectModel.Tables.Row rFirma = tFirma.AddRow();
rFirma.Cells[0].Format.Alignment = MigraDoc.DocumentObjectModel.ParagraphAlignment.Center;
rFirma.Cells[0].AddParagraph("Employee Signature");
Run Code Online (Sandbox Code Playgroud)

c# asp.net pdfsharp migradoc

-4
推荐指数
1
解决办法
2166
查看次数

标签 统计

migradoc ×10

c# ×7

pdfsharp ×7

pdf ×3

pdf-generation ×2

.net ×1

asp.net ×1

image ×1

unicode ×1

visual-studio ×1