Tag: 打印

抑制:WinForms WebBrowser的打印输出中的空白

我正在更新一个WinForms应用程序,它使用System.Windows.Forms.WebBrowser输出程序生成的一些HTML内容。 该解决方案工作正常,除了about:blank在每页的页脚中打印。 是否可以抑制输出? 或者,是否有一个简单的替代方法来从WinForms打印没有该问题的HTML? 客户不希望假设存在任何第三方软件,如Excel甚至PDF阅读器。

C#预览打印对话框

我有一个信息的数据网格,当点击打印按钮时,我想显示一个打印预览屏幕,它会是什么样子,然后让用户打印文档。 这是我到目前为止得到的: PrintDocument myDocument = new PrintDocument(); PrintPreviewDialog PrintPreviewDialog1 = new PrintPreviewDialog(); PrintPreviewDialog1.Document = myDocument; PrintPreviewDialog1.ShowDialog(); 我的问题是如何将数据放到预览屏幕上..谢谢!

PrintJob的实际总页数(Win32_PrintJob)

我每次使用ManagementEventWatcher进行更改时都会查询Win32_PrintJob WMI类,我获取了有关它的数据,例如:Document,HostPrintQueue,JobId,JobStatus,TotalPages等。 但TotalPages并不代表要打印的实际页数 ,目前看来获取这些数据仍然是printjob还没有完成处理并在那个时刻打开多个页面进行打印但实际总数是其他数字,如何在完成后获取打印作业的实际数量处理? 这是我的代码: ManagementEventWatcher createPrintJobWatcher; String strComputerName = “.”; // Create event query to be notified within 1 milli second of a change in a service WqlEventQuery createPrintJobQuery = new WqlEventQuery(“SELECT * FROM __InstanceCreationEvent WITHIN 0.001 WHERE TargetInstance ISA \”Win32_PrintJob\””); createPrintJobWatcher = new ManagementEventWatcher(); createPrintJobWatcher.Scope = new ManagementScope(“\\\\” + strComputerName + “\\root\\CIMV2”); createPrintJobWatcher.Query […]

C#打印屏幕活动窗口

我目前正在尝试使用Visual C#打印一个活动窗口。 我有这个代码: SaveFileDialog saveImageDialog = new SaveFileDialog(); saveImageDialog.Title = “Select output file:”; saveImageDialog.Filter = “JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif”; //saveImageDialog.FileName = printFileName; if (saveImageDialog.ShowDialog() == DialogResult.OK) { // Set the bitmap object to the size of the screen bmpScreenshot = new Bitmap(this.Bounds.Width, this.Bounds.Height, PixelFormat.Format32bppArgb); // Create a graphics object from the bitmap gfxScreenshot = Graphics.FromImage(bmpScreenshot); […]

打印WebBrowser控件内容

我非常喜欢用.NET打印。 我想打印WebBrowser控件中显示的页面。 我怎么做?

打印控件

我想知道是否有一种简单的方法可以将C#中的任何控件打印到打印机。 我的具体示例是尝试将TableLayoutPanel打印到收据(因此我不必担心分页符或任何内容),但我希望能够打印出发送给我的任何可见对象。 现在我必须创建一个位图,然后做一个TableLayoutPanel.DrawToBitmap,但这似乎非常低效,因为我已经有了打印的Graphics对象,应该有一个简单的方法来做这个..谢谢! 编辑:我注意到有一个“ControlPaint.Draw__”,但是它没有很多可以绘制的控件(它有Border,Button,CheckBox,ComboBox)。

打印pdf的多个副本

我目前正在使用以下代码使用Foxit Reader软件打印pdf。 现在我的问题是我想要打印文件的多个副本。 任何人都可以让我知道如何在下面的代码中打印pdf时指定副本数量。 [编辑]我不想使用循环来打印pdf的多个副本。 我想仅将其指定为命令行参数。 任何帮助非常感谢:) Process process = new System.Diagnostics.Process(); process.EnableRaisingEvents = false; process.StartInfo.CreateNoWindow = true; process.StartInfo.FileName = foxitReaderInstalledPath; string arguments = String.Format(@”-t “”{0}”” “”{1}”””, this.Path, printerName); process.StartInfo.Arguments = arguments; process.Start(); process.WaitForExit();

旋转文本进行打印

我正在使用PrintDocument打印页面。 在某一点上,我想将文本旋转90度并打印它,即垂直打印文本。 有任何想法吗 ??? g.RotateTransform(90); 不适用于OnPaint。

使用GhostScript.NET DPI打印问题打印PDF

我正在使用GhostScript.NET来打印PDF。 当我以96DPI打印时,PDF打印很好,但有点模糊。 如果我尝试以600DPI打印文档,则打印的页面会非常放大。 using GhostScript.NET.Rasterizer; using System.Drawing.Printing; PrintDocument doc = new PrintDocument(); doc.PrinterSettings.PrinterName=””; doc.PrinterSettings.Copies=(short)1; GhostScriptRasterizer rasterizer = new GhostScriptRasterizer(); rasterizer.Open(“abc.pdf”); //Image page = rasterizer.GetPage(96,96); <– this one prints ok Image page = rasterizer.GetPage(600,600); doc.Graphics.DrawImage(page, new Point()); 我在注意页面对象时注意到的一件事是,尽管我传递了GetPage()600,600,但返回的图像的Horizo​​ntalResolution为96,VerticalResolution为96。 所以我尝试了以下内容: Bitmap b = new Bitmap(page.Width,page.Height); b.SetResolution(600,600); Graphics g = Graphics.FromImage(b); g.DrawImage(page,0,0); page = b; 它的Horizo​​ntalResolution为600,VerticalResolution为600,但这样打印的图像更大! 谁能在这里给出建议?

使用c#设置Windows的默认打印机

我想在按钮单击时为Windows /系统设置设置默认打印机。 我想点击一个按钮,并希望出现一个窗口对话框,要求用户设置默认打印机。 现在我正在使用PrintDialog,但每次单击按钮时它都会更改打印机。 我想将所选打印机设置为默认打印机,即使我关闭应用程序也应该保持不变。 private void PrintSettingsBtn_Click(object sender, EventArgs e) { PrintDialog PrintDialog = new PrintDialog(); PrintDialog.ShowDialog(); PrinterName = PrintDialog.PrinterSettings.PrinterName; }