- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我将 NuGet 包添加到我的项目中:
PDFsharp + MigraDoc
Version: 1.50.4790-beta5a (Prerelease)
添加了引用:
MigraDoc.DocumentObjectModel
MigraDoc.Rendering
MigraDoc.RtfRendering
PdfSharp
PdfSharp.Charting
我正在使用 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 & Page Properties
Section section = document.AddSection();
Unit width, height;
width = Unit.FromMillimeter(60);
height = Unit.FromMillimeter(100);
section.PageSetup.PageWidth = width;
section.PageSetup.PageHeight = height;
section.PageSetup.LeftMargin = 5;
section.PageSetup.RightMargin = 5;
section.PageSetup.TopMargin = 5;
//Fecha
Paragraph paragraph = section.AddParagraph(DateTime.Today.ToString("dddd") + ", " + DateTime.Today.ToString("dd MMMM yyyy"));
//Foto
paragraph = section.AddParagraph();
MigraDoc.DocumentObjectModel.Shapes.Image imagen = section.AddImage("foto_grey.bmp");
imagen.Width = "2.5cm";
imagen.LockAspectRatio = true;
imagen.Left = MigraDoc.DocumentObjectModel.Shapes.ShapePosition.Center;
paragraph = section.AddParagraph();
//Datos en Tabla
this.table = section.AddTable();
this.table.Borders.Width = 0.25;
this.table.Borders.Left.Width = 0.5;
this.table.Borders.Right.Width = 0.5;
this.table.Rows.LeftIndent = 0;
this.table.RightPadding = 0;
//Columnas
MigraDoc.DocumentObjectModel.Tables.Column column = this.table.AddColumn();
column = this.table.AddColumn();
//Filas
MigraDoc.DocumentObjectModel.Tables.Row row = table.AddRow();
//Nombre
paragraph = row.Cells[0].AddParagraph("Name: ");
paragraph.AddFormattedText(nombre, TextFormat.Bold);
row.Cells[0].MergeRight = 1;
//Apellido
row = table.AddRow();
paragraph = row.Cells[0].AddParagraph("Surename: ");
paragraph.AddFormattedText(apellido, TextFormat.Bold);
row.Cells[0].MergeRight = 1;
//Documento
row = table.AddRow();
paragraph = row.Cells[0].AddParagraph("Document: ");
paragraph.AddFormattedText(documento, TextFormat.Bold);
row.Cells[0].MergeRight = 1;
//Apellido
row = table.AddRow();
paragraph = row.Cells[0].AddParagraph("Birth Date: ");
paragraph.AddFormattedText(nacimiento, TextFormat.Bold);
paragraph = row.Cells[1].AddParagraph("Nationality: ");
paragraph.AddFormattedText(nacionalidad, TextFormat.Bold);
PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer(false);
pdfRenderer.Document = document;
pdfRenderer.RenderDocument();
string filename = "Invoice.pdf";
pdfRenderer.PdfDocument.Save(filename);
// Creates a PrintDocument that simplyfies printing of MigraDoc documents
//MigraDocPrintDocument printDocument = new MigraDocPrintDocument();
}
最佳答案
要获得预览,请尝试 PDFsharp-MigraDoc-WPF
或 PDFsharp-MigraDoc-GDI
。
检查文档查看器
示例:
http://www.pdfsharp.net/wiki/DocumentViewer-sample.ashx
您可以在这里下载完整的示例代码:
https://sourceforge.net/projects/pdfsharp/files/pdfsharp/PDFsharp%201.50%20%28beta%203%29/
如果要打印,请使用早期版本的打印类。另见:
http://forum.pdfsharp.net/viewtopic.php?f=8&t=3202
您将需要 GDI 版本进行打印。
关于c# - 无法使用 MigraDoc/PDFsharp 打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48904836/
有没有办法不在每个页面上重复 Migradoc header ? 在我的程序中,我将图像添加到文档的标题中,如下所示: Section section = document.AddSectio
如何减少 MigraDoc 文档的上边距? 我在文档的右上角添加了一个图像,但是文档顶部和图像之间的空间太大。 这是我设置图像的方法: Section section = document.AddSe
我可以使用 MigraDoc 轻松地将图像添加到 PDF 文件的某个部分。但是,图像被页面宽度切成两半。 有没有办法强制图片调整大小,使其完全适合一页?还是必须手动完成? 如果必须手动完成,有人知道
我正在使用 MigraDoc 创建一个报告,该报告可以有 4 个表,2 行和 2 个表。 我尝试了许多不同的方法来实现这一点。 1- 我尝试在 table 上创建一个 leftIndent。 tabl
我正在尝试将图像放置为每个页面的页脚,我可以使用以下方法将页脚移近页面底部: doc.DefaultPageSetup.FooterDistance = "0cm" 但是我似乎无法找到一种方法来允许与
我想要一种在 MigraDoc 中设置相对列宽的方法,我找到了 this post就此主题而言。问题是,它对我不起作用。我从那篇文章中复制了确切的代码: Section section = docum
如何在渲染之前获取页数?我需要在我的文档中将数字写成单词。 最佳答案 对于页码作为数字: 您不必获取编号,您可以在文档中添加占位符(称为字段),并且 MigraDoc 将在呈现文档时自动插入页码。 见
我正在使用 MigraDoc 创建 PDF。根据我的要求,我必须根据页面\部分的内容添加不同的标题。我可以通过添加新部分并为每个部分定义新标题来实现它。到这里为止,一切正常。 在页脚中,我使用“Add
我有一个文本数据表,我想将某些数据缩进几个空格,但是我尝试的所有操作似乎都会导致我的字符串被自动修剪,并且前面的空格被删除。现在的 PDF 看起来像这样: http://i.imgur.com/KBK
我的任务是重构一个旧的 MigraDoc 项目,该项目由不再在我公司工作的开发人员编写,并且在使用以下代码时遇到问题.. var Split = new String[1]; Split[0] = "
我想知道是否有办法避免某些段落之间换行。例如: Paragraph PjourneyTitle = sec.AddParagraph(journeyTitle, "Heading2"); Paragr
我想在我的所有页面上添加水印并将其居中。这对于至少仅通过一组纵向页面“吸引眼球”来说是非常简单的,但在本文档中同时包含纵向和横向页面。 我的研究表明可以用这些元素来完成: myImage.Relati
有没有办法向 migradoc 表格单元格添加真正的填充?他们目前拥有的选项(LeftPadding 和 RightPadding)实际上像边距一样工作,而不像填充。如果您使用它,它还会推送背景颜色,
我一直在使用 MigraDoc 生成 PDF,除了添加图像外,我的所有布局都运行良好。对于程序的一部分,我们正在生成这些 PDF,因为我们使用的程序只将它们的信息保存为 XML,并且可以从那里将 XM
我需要找到一种方法来用 .png 图片填充整个封面,并在页面底部放置一些文本,而图片不会出现在该位置。 现在我通过使用它来拉伸(stretch): document.DefaultPageSetup.
我想创建一个 PDF 文件,该文件应包含一个表格,并在该表格下包含三个图像;图像应该有水平布局(它们应该在同一行)。如何对齐 MigraDoc 中的三个图像?如果我以这种方式添加图像 docum
我想要实现的是在页面上两次显示相同的内容,用虚线分隔,并使用填充,这样一份副本位于上半部分,第二份副本位于下半部分。类似于 firstSection.SpaceAfter = (height of p
我想在 MigraDoc 中使用不同的字体,但我很难坚持下去。目前,我正在使用以下代码: 我将其作为类范围的变量: String tPdfFont = "MonospaceTyperwrite
如何在 Migradoc 中添加一条简单的水平线,以便将线上方的内容与线下方的内容分开? Paragraph 1 Paragraph 2 Paragraph 3 ETC 最佳答案 您可以为段落或表格添
数据库中有一个 HEX 颜色代码字符串 ("#ADD8E6"),我想用它来更改 MigraDoc< 的背景颜色 单元格。我找到了 Color.Parse() 函数,但它并没有改变我的单元格的颜色。我必
我是一名优秀的程序员,十分优秀!