C# WebBrowser.ShowPrintDialog()不显示
我想打印HTML报告时有一个特殊的问题.该文件本身是一个普通的本地HTML文件,位于我的硬盘驱动器上. 为此,我尝试了以下内容: public static void PrintReport(string path) { WebBrowser wb = new WebBrowser(); wb.Navigate(path); wb.ShowPrintDialog() } 我有一个带有单击事件的按钮的表格: private void button1_Click(object sender, EventArgs e) { string path = @"D:\MyReport.html"; PrintReport(path); } 这绝对没有任何作用.这有点奇怪...但是事情变得陌生... 编辑打印功能以执行以下操作:
12 2024-04-26
编程技术问答社区
什么是剪纸命令?
我正在使用 Tapidata SDK和C夏普上的打印机挡板数据.我得到了剪切命令,但我不知道这是什么.请解释. 解决方案 指示收据结束的收据定界符.通常是剪切命令.根据打印机的不同,纸张命令可能会有所不同.通常,以下三个通常使用. 0x1B 0x69 0x1B 0x64 0x1D 0x56 在收据末尾打印的文本.这种文本在收据上下文中应该是唯一的,因为它们不太可能以产品名称出现.收据结束时打印的问候,例如"谢谢您的访问","祝您有美好的一天",通常可以使用.要添加文本定界符,请使用API​​函数:addStrDelimiter(string delim).请注意,文本定界符没有必要出现在收据的末尾.相反,只要它们在付款块之后出现就可以了. 可以为一个捕获实例添加多个定界符.但是,您应该确保为了一张收据,将出现一个和只有一个定界符.例如,如果您设置了两个定界符:一个是纸裁切命令,另一个是在收据结束时打印的文本,则可能将一个收据解释为两个.但是,可以添加多个剪切命令作
10 2024-04-26
编程技术问答社区
打印字符串|变量的内容到本地打印机 ASP.NET
我在asp.net中有一个页面.在此页面中,我有一个包含各种数据的List.我需要能够在客户端打印此信息.因此,如果登录用户单击"打印"按钮,则向他显示一个对话框,从中选择设置,例如打印机,景观/肖像,数字,如果副本等.这是我的代码: private List dataToBePrinted = new List(); public void addDataToList(string text) { dataToBePrinted.Add(text); } protected void btnPrint_Click(object sender, EventArgs e) { //Print contents of dataToBePrinted to local printer here. } 到目前为止,我只能打印AS-IS(带有所有控件,窗口等),但是我只需要List中的信息.
6 2024-04-26
编程技术问答社区
将页脚设置到位
设置页脚.. 在上面的屏幕中,页脚显示在新会员报告和报告期之后,但我不希望这样 我正在使用C#. 在Windows应用程序上工作 我使用MS图表控件生成了"报告".在打印和导出为XPS格式时,标题和页脚看起来很好. 但是我希望页脚在目前在报告的底部显示,它是在标题之后出现的,我想使用C#在底部添加此页脚.因此,用户可以使用标题和页脚打印页面.如何做. 任何人都可以对此有所了解. 非常感谢.... 这是我的代码 Title maintitle = kpiChartControl.Titles.Add("New Members Report" + Environment.NewLine); maintitle.Alignment = ContentAlignment.TopLeft; maintitle.Font = new Font(FontFamily.GenericSansSerif, 11, FontStyle.Bold)
8 2024-04-26
编程技术问答社区
打印固定文件是如何进行的?
我读到某个地方,无论打印机的分辨率如何,打印固定文件时的页面都将完全相同. 说您的文档在打印机X上的一个页面上打印出来,并假设打印机的分辨率比打印机x ... 更高 当您在打印机上打印文档时,会自动尺寸填充整个页面吗?还是不填充? 谢谢 编辑** 我在此处阅读了有关固定文档的信息: http://msdn.microsoft.com/en-en-us/library/library/library/library/mms748388.aspx 更具体地说,本段: 固定的文档旨在用于需要精确的"您看到的是您获得的内容"(Wysiwyg)演示文稿,而与所使用的显示或打印机硬件无关.固定文档的典型用途包括桌面出版,文字处理和表单布局,其中遵守原始页面设计至关重要.作为布局的一部分,固定的文档将内容元素的精确位置放置独立于使用的显示器或打印设备.例如,当输出到600 dpi激光打印机时,在96 DPI显示上查看的固定文档页面与输出到4800 DPI Pho
14 2024-04-26
编程技术问答社区
在C#中打印没有预览的pdf
我正在尝试使用Windows应用程序中的C#打印.pdf和.tif文件. 打印成功完成,但我的问题是Adobe Reader在PDF文件和Windows打印对话的背景下打开了TIF文件. 实际上,我将使用服务运行我的方法,因此这些过程应该静静地发生.我该怎么做才能避免这种情况? 这是我的代码 public void PrintDocument(string filepath) { //PrintDialog pd = new PrintDialog(); printProcess.StartInfo.FileName = filepath; //Also tried usecellexcecution=false; //Redirect=true; something like this printPr
10 2024-04-26
编程技术问答社区
打印作业接受和路由软件
我想创建一个可以从其他计算机中接受打印作业的软件,然后将这些打印作业路由带有打印机的LAN上的PC. 它将如何发生 - > 1-当在计算机" X"上安装该软件称为"虚拟打印机"时,Windows应该认为它是该计算机的打印驱动程序/附加打印机. 2-然后,该PC的管理员转到Windows中的"设备和打印机",然后选择"虚拟打印机",右键单击并查看属性,然后选择复选框"共享此打印机" 3-现在,LAN上的其他PC可以看到连接到计算机" x"的LAN中有一个共享打印机调用"虚拟打印机" 4-因此,他们可以通过选择"虚拟打印机"时将打印作业发送给此"虚拟打印机". 我如何编写此程序(可能是C#)以作为窗口的打印机出现,然后接受传入的打印作业并将其发送给带有打印机的所需计算机. 我不知道该如何编码此内容,而且我也不知道,请帮助我使用一些资源,代码或示例项目或至少与此类似的样本. 谢谢 解决方案 根据您最初的问题,回顾我的第一个答案,我不再理解为什么我如此强调"将传入的工作
12 2024-04-26
编程技术问答社区
如何使用BitBlt截图?
我不时地遇到了这个" Bitblt",但我没有得到如何使用. 根据人们所说的话,这似乎是捕获Windows显示的屏幕的最快方法. 但是,当我无法正常工作时,我自己说什么. 我唯一设法至少尝试的方法是: : gfxBmp.CopyFromScreen(0,0,0,0 rc.Size,CopyPixelOperation.CaptureBlt); 我猜哪个使用它? (rc.size =某个窗口的大小) 可悲的是,它没有做任何事情,我得到了一张黑色的照片. 但是,如果我使用流媒体复制,那是正常的方法. 我目前正在尝试替换一些代码,以使用bltbit,但它也无法正常工作: public MemoryStream CaptureWindow(IntPtr hwnd, EncoderParameters JpegParam) { NativeMethods.Rect rc; NativeMethods.GetWin
12 2024-04-26
编程技术问答社区
我怎样才能推迟打印,直到加载图像?
我正在使用Process启动Word文档,并在使用The Startup Info.Verb = "Print"打开后立即打印它.这可以正常工作,文档立即开始打印,只有问题是在加载图像之前正在打印文档,因为图像仍然需要从Internet下载. 有没有办法从文字文档延迟打印? 解决方案 单击左上角的东西,单词选项,显示,打印选项,勾选"在打印之前更新链接的数据"选项.在superuser.com 上询问有关此问题的更多问题
10 2024-04-26
编程技术问答社区
从WPF WebBrowser打印背景颜色
目前,我正在打印WPF WebBrowser的内容,例如: mshtml.IHTMLDocument2 doc = WebBrowser.Document as mshtml.IHTMLDocument2; doc.execCommand("Print", true, null); 我的HTML内容具有背景颜色的表.当前,当我打印内容时,背景颜色不会打印 - 所有内容都是固体白色.有没有办法告诉WebBrowser也打印背景颜色? 此外,这仍然导致打印对话框弹出.有人知道命令是什么要打印无内容对话? 非常感谢! 解决方案 假设您使用的是" shdocvw.webbrowser",则可以使用ExecWB命令.要在没有对话框的情况下打印,请使用OLECMDEXECOPT_PROMPTUSER(1)常数.您还可以通过IE打印模板(只是一个HTML文件),以更多地控制页面的显示. 是这样的(摘自browser.ExecWB(SHDocVw.OLECMDID.O
8 2024-04-26
编程技术问答社区
使用C#确定当前打印作业的颜色
在回答之前,我在Google上花了最后2或3天尝试了不同的问题表格来尝试并使此工作. 我需要获得当前打印作业的颜色设置,以确定用户执行的颜色或灰度打印.但是,我尝试访问的每个颜色属性(通过ManagementObjectSearcher," Watcher和C#的内置打印机类别)总是返回颜色,永远不要灰度. 任何帮助都将不胜感激,因为我已经停止在解决方案方面取得进展.谢谢.以下是我拥有的代码(请记住,这是我的原型代码,因此除了我的要求之外,还有很多问题. using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; usi
8 2024-04-26
编程技术问答社区
将文件发送至XPS打印机
XPS打印机允许我们创建XPS文件,无论是从图像还是TXT或DOC文件中. 我想在C#中以编程方式进行相同的操作. 如何将文件发送到XPS打印机并让打印机将其转换为.xps文件? 有什么想法? 我在Google上进行了搜索,但到目前为止还没有发现太多. 解决方案 也可以使用打印队列打印到XPS文档作者,但它将始终显示"文件"对话框. 请参见下面的其他替代方案,以转换和打印到XPS文件. 将文件转换为XPS 这并不像您希望的许多用户那样简单,并且有许多不同的方法可以完成所有这些方法. 将文档转换为XPS的一种方法(最简单的方法)是使用Word 2007+ API进行操作. 请参阅下面的此MSDN论坛问题 使用Word 2007编程将DOCX转换为XPS,请参见 单词对象模型参考 ( http://msdn2.microsoft.com/en-en-us/library/library/library/bb256835. aspx
6 2024-04-26
编程技术问答社区
打印机 spooler api 的份数
我真的可以使用一些帮助,这是很多人在互联网上问的问题.我有不同的设置,尝试了不同的测试方式,这是非常令人沮丧的. 第一个设置: 本地打印机 本地运行代码 从PDF或记事本打印:成功(副本数为2) word打印:失败(副本为1) 第二个设置: 共享的本地打印机 本地运行代码 从其他计算机到共享打印机打印 副本数量isalways 1 sowhat每个人都缺少吗?当打印机仍然应该知道要打印的内容时,会有一些丢失的字段会发生什么?当您从另一台计算机打印时也会发生什么单词?有人可以告诉我为什么窗户中的某种东西这么糟糕吗?每个人都会经过船上的sowhy isthedata错误? 有点问! 解决方案 打印机打印纸和页面,因此在某个阶段将副本转换为页面. 您获得的通知数据取决于打印的应用程序,以及处理置换和渲染的系统和驱动程序组件.根据我的经验,数据不能依赖,最好通过解析阀芯文件获得最佳数据.这可能包含或可能不包含副
6 2024-04-26
编程技术问答社区
打印现有的pdf文件
我制作了一个Windows表单应用程序,我想用默认打印机打印现有的PDF文档. 我有文件,存储在c:\ users \ marten \ document.pdf. 中 我已经搜索了一些示例,但是我发现的唯一示例是打印文本文件或将字符串打印到文档中. 有人可以给我一个很好的例子或教程吗? 解决方案 这使用已安装的PDF读取器将文件打印到计算机上的默认打印机上. string path = ""
6 2024-04-26
编程技术问答社区
在C#中为LPT端口添加一台打印机并向其发送文件
我有一个命令Shell脚本,该命令脚本在LPT端口上安装打印机(如果有的话,则是斑马打印机)(打印机本身通过USB连接),并向其发送一个文件,从而触发实际打印.然后将打印机从端口 删除 net use lpt1: \\MyComputer\MyPrinter copy D:\Test\Printout.epl lpt1 net use lpt1: /delete 如何使用C#代码进行相同的操作? 解决方案 private static void PrintFile(string path) { string strCmdText = "/c copy " + path + " LPT1"; Process.Start("CMD.exe", strCmdText); }
8 2024-04-26
编程技术问答社区
通过TCP/IP发送文件 .NET CF
我想从Windows Mobile 6.5设备将文件(" Label.prn")发送到打印机. 这是通过TCP/IP发生的. 我已经意识到此应用程序是对普通桌面客户的测试.这非常简单.只需通过TCP套接字发送文件,打印机可以完成其作业. 这是桌面客户端演示(效果很好): 私有void buttonsend_click(对象发送者,EventArgs e) { TcpClient client = new TcpClient(AddressFamily.InterNetwork); client.Connect(IPAddress.Parse("192.168.1.5"), 6101); if (client.Connected) { client.Client.SendFile("C:\\Label.prn"); client.Close();
16 2024-04-26
编程技术问答社区
使用定时器延迟逐行读行方法 C#
我使用C#Windows表单使用Visual Studio2010.不要让控制台部分使您感到困惑,它是用户定义的东西而不是实际的控制台.因此,我有一种方法可以按行打印文件.我必须使它看起来很慢,因此我目前正在使用thread.sleep逐行打印来减慢速度.我无法使用它,因为它冻结了程序中的其他一些组件.我希望看看是否可以使用计时器完成.尽管我看到的所有示例都与计时器一起使用,通常会有一个计时器调用的方法.方法中间没有计时器延迟.所以我不确定如何在此处使用计时器. public void SlowPrint(string FileName) { string line; string tempFileName; string MyFilesDir = "..\\..\\myFolder\\"; tempFileName = Path.Combine(MyFilesDir, FileName); if (System.IO.File.E
22 2024-04-26
编程技术问答社区
C# POS收据打印问题
我通过使用图形对象在C#中编写了一个代码,将收据打印在POS打印机上(Epson TM -T82-纸卷:80 x 297毫米). 示例代码如下 Graphics graphic = e.Graphics; Font regularFont = new Font("Courier New", 8); Font titleFont = new Font("Courier New", 14); SolidBrush drawBrush = new SolidBrush(Color.Black); float fontHeight = regularFont.GetHeight(); float startX = 10.0F; float startY = 5.0F; int offset = 40; graphic.DrawString("----------------------------------------", regularFont, drawBrush, new P
6 2024-04-26
编程技术问答社区
指定的元素已经是另一个元素的逻辑子女。先断开它的连接 从用户控制中打印多个页面
Visual v是我试图打印的用户控件中网格部分的一部分.我是C#的新手,不完全确定为什么我会遇到此错误.这可以与XAML代码有关吗? private void Print( Visual v ) { var pd = new PrintDialog(); var document = new FixedDocument(); var fixedPage = new FixedPage(); //System.Windows.FrameworkElement e = v as System.Windows.FrameworkElement; //if( e == null ) Transform originalScale = fixedPage.LayoutTransform; //get selected
10 2024-04-26
编程技术问答社区
跨越多个页面打印表格
我有3种印刷方法:Printa,printB和printc(每个打印表单).所有3个表格都需要在多个页面上打印.我如何在3页上打印? 我知道我们需要使用事件处理程序并使用currentpage和e.hasmorepage,但我不确定如何使用它. 解决方案 只需跟踪页码即可.您将其设置为"开始"事件中的0,并每次调用打印页面时将其设置为0.这样: int pageNumber; private void printDocument1_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e) { pageNumber = 0; } private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) {
6 2024-04-26
编程技术问答社区