【发布时间】:2018-02-26 14:35:20
【问题描述】:
我正在使用 PDFsharp/MigraDoc 创建 MigraDoc 文档发票,以便使用热敏打印机进行打印。我基本上使用 MigraDoc,因为我只需要带有文本和图像的段落。现在的问题是,在某些情况下,我必须指出该法案被取消并带有划线。恐怕我不能用 MigraDoc 但用 PDFsharp 来做。 我可以将两者混合并仍将其打印为 MigraDoc 文档吗?
更新 显然没有办法将 PDFsharp 文档翻译成 MigraDoc 文档。 由于我需要同时使用这两种方法,因此我必须以另一种方式构建 MigraDoc 并将其转换为 PDFsharp 格式。完成此操作后,我需要使用 PDFSharp 的库进行预览和打印,目前我无法...
我在 [Design] 中添加了一个 PagePreview(我正在使用 WinForms),但我不知道如何使用 de PDFSharp 文档填充它...
代码sn-p:
//Render a pdf
PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer(false);
pdfRenderer.Document = document;
pdfRenderer.RenderDocument();
//Draw some lines
var page = pdfRenderer.PdfDocument.Pages[0];
PageInfo pageInfo = pdfRenderer.DocumentRenderer.FormattedDocument.GetPageInfo(1);
page.Width = pageInfo.Width;
page.Height = pageInfo.Height;
page.Orientation = pageInfo.Orientation;
XGraphics gfx = XGraphics.FromPdfPage(page);
{
gfx.DrawLine(XPens.Black, 15, page.Height / 2, page.Width -15, 2 * page.Height / 3);
gfx.DrawLine(XPens.Black, page.Width - 15, page.Height / 2, 15, 2 * page.Height / 3);
}
string filename = "Invoice.pdf";
pdfRenderer.PdfDocument.Save(filename);
//this.pagePreview1 ...
document 是 MigraDoc 文档。最后,我得到了正确格式的 Invoice.pdf。现在,如何在我添加到表单的 PdfSharp.Forms.PagePreview 中显示此 pdf?
然后,我应该如何打印?
【问题讨论】:
-
PDFsharp 不在预览中预览 PDF 文件,也不打印 PDF 文件。我在第二个答案中建议了“仅 MigraDoc”方法。
标签: c# winforms pdfsharp migradoc