【发布时间】:2013-05-07 04:30:31
【问题描述】:
我真的不想让别人为我做我的工作,我真的很感激你朝着正确的方向前进。
我有几张表格需要打印。所有这些都由多个数据网格视图和其他控件组成。工作卡、制造表、库存切割清单、报价等。
我在互联网上尝试了很多可能的解决方案。 PrintForm 组件实际上是无用的,因为分辨率很差。我尝试了 Crystal Report,并取得了一些成功,我用它来生成和打印我的报价单和发票。
“捕获”表单(位图)...(我猜在我的情况下,女巫是 printForm 更好的替代品)不要把它剪掉。
MSDN Printing the Form (Visual C#)
我相当沮丧,因为这是测试前我的应用程序的最后一部分。 我真的很想了解和学习有关 PrintDocument 组件的所有知识,以便最终解决这个问题并获得一些 VS 打印经验。
我现在将深入了解 iText-Sharp 作为我最后的手段。所以请告诉我它是否会被证明是徒劳的(至少在我的情况下;)那将不胜感激。
感谢您的好心先生或女士您的时间和您的知识
最诚挚的问候
赫尔曼·维奎尔 在 Crystal Reports 中同样生成的报价单
我需要打印的表格...表格的数量取决于订购的产品类型和数量。
编辑:
我现在正在解决这个问题..
我怎样才能确保这适合一页? 目前缺少表格右侧的一部分。
private void CaptureScreen()
{
Graphics mygraphics = this.CreateGraphics();
Size s = this.Size;
memoryImage = new Bitmap(s.Width, s.Height, mygraphics);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
IntPtr dc1 = mygraphics.GetHdc();
IntPtr dc2 = memoryGraphics.GetHdc();
BitBlt(dc2, 0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height, dc1, 0, 0, 13369376);
mygraphics.ReleaseHdc(dc1);
memoryGraphics.ReleaseHdc(dc2);
}
【问题讨论】:
-
那些担心拯救树木的人(比如我自己)所有这些表格最终都会出现在每台制造机器的触摸屏上:) [这也是我反对在这些表格中使用 Crystal 报告的动机] 和大多数订单是在线完成的,因此客户会收到 pdf 格式的报价和发票:) ...公司只想从 6 月 1 日开始测试软件。
-
目前正在查看winformreports.co.uk
-
打印控件永远不会让任何人满意,打印机的分辨率比显示器高 6 倍。所以每个像素都会在纸上变成一个 6x6 的斑点。您只是忘记了您项目的其他 90%,非常不清楚您希望我们对此做什么。
-
@HansPassant 很抱歉,如果我不清楚。我知道打印控件绝对不是一个好习惯,尤其是在相对专业的环境中。 (因此将 Crystal Reports 用于客户文档。)这只是一种临时解决方案,正如我所说,这些表单旨在显示在触摸屏上。我知道屏幕和打印机之间的分辨率差异:) 也不确定您所说的“您刚刚忘记了项目的其他 90%”是什么意思。谢谢您的评论
标签: winforms visual-studio-2010 c#-4.0 printdocument