Tag: 打印

如何在打印PDF时设置打印机设置

我正在尝试使用Process对象打印PDF文件。 在某种程度上,我可以成功打印它。 但现在我想设置打印机属性..比如没有副本,纸张大小等。但我没有看到任何属性来设置这些值。 我正在使用以下代码来打印PDF string fileName = “”; string arguments = “”; string verbToUse = “”; int i = 0; ProcessStartInfo startInfo = new ProcessStartInfo(); OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.InitialDirectory = “c:\\”; openFileDialog1.Filter = “pdf files (*.pdf)|*.pdf|All files (*.*)|*.*”; openFileDialog1.FilterIndex = 2; openFileDialog1.RestoreDirectory = true; if (openFileDialog1.ShowDialog() == DialogResult.OK) { if ((fileName = openFileDialog1.FileName) […]

如何在C#中覆盖自定义Papersize

我正在用C#开展一个项目。 我有一个labelprinter,需要打印我发送的文件。 但是,打印机打印时,我无法覆盖以下所示的Custom纸张格式(荷兰语的Papierformaat)的以下值: https ://gyazo.com/e350ed1e355b45b8cae24196d2b5869b。 如果我制作new PaperSize(); 它的高度小于或等于300它可以工作,但是如果我试着把它做得更大,比如500,那就把它降低到300.为什么这会让它开心呢? 好像我无法覆盖链接图片中的值(即300)。 public void Printing() { try { streamToPrint = new StreamReader(filePath); try { PrinterSettings settings = new PrinterSettings(); printFont = new Font(“Arial”, 10); PrintDocument pd = new PrintDocument(); PaperSize paperSize = new PaperSize(“Test”, 315, 300); paperSize.RawKind = (int)PaperKind.Custom; pd.DefaultPageSettings.PaperSize = paperSize; pd.DefaultPageSettings.Margins = new Margins(0, 0, 0, […]

将文件发送到XPS打印机

XPS打印机允许我们创建xps文件,无论是来自图像还是txt或doc文件。 我想在c#中以编程方式执行相同的操作。 如何将文件发送到xps打印机并让打印机将其转换为.xps文件? 有任何想法吗? 我谷歌这个但到目前为止还没有找到太多。

在c#中无需预览即可打印pdf

我试图在Windows应用程序中使用C#打印.pdf和.tif文件。 打印成功完成,但我的问题是Adobe阅读器正在打开pdf文件的背景,并打开tif文件的Windows打印对话框。 实际上我将使用服务运行我的方法,因此这些过程应该以静默方式进行。 我该怎么做才能避免这种情况? 这是我的代码 public void PrintDocument(string filepath) { //PrintDialog pd = new PrintDialog(); printProcess.StartInfo.FileName = filepath; //Also tried usecellexcecution=false; //Redirect=true; something like this printProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; printProcess.StartInfo.Verb = “Print”; printProcess.StartInfo.CreateNoWindow = true; PrinterSettings setting = new PrinterSettings(); setting.DefaultPageSettings.Landscape = true; printProcess.Start(); printProcess.CloseMainWindow(); } 我曾尝试在MSDN中使用RawprinterHelper ,但它会打印垃圾字符。

您将使用什么报告工具?

我需要一个通过我的C#应用​​程序处理屏幕和打印报告的工具。 我正在寻找简单,标准和强大的。 我需要能够让用户能够使用我自己的GUI选择要显示的列,格式化等,并根据他们的选择动态构建报告。 Crystal不适合这里的帐单,因为无法动态添加列(并且无法动态调整列宽)。 我正在考虑在我的应用程序中使用带有WebBrowser控件的HTML,但我对打印和打印预览几乎没有控制权。 另一个选择是转到.NET 3.5(我使用2.0)并使用XAML和Flow Documents。 你会用什么?

使用c#和WMI计算客户端打印的页数

目标就像我在主题中说的那样。 我知道有很多关于这个特定问题的文章,我尝试了所有这些问题。 但是由于它们不适合我,我现在正试图找出为什么这个有时会起作用, 有时甚至没有发生任何事情,尽管印刷了许多东西。 所以这是我的代码,现在应该等待打印作业,然后告诉我它。 而已。 private void StartMonitor() { try { var opt = new ConnectionOptions { EnablePrivileges = true }; var scope = new ManagementScope(“root\\CIMV2”, opt); scope.Connect(); var query = new WqlEventQuery(“SELECT * FROM __InstanceOperationEvent WITHIN 60 WHERE TargetInstance ISA \”Win32_PrintJob\””); var watcher = new ManagementEventWatcher(query); Console.WriteLine(“Ready to receive Printer Job events…”); var […]

修改特定于打印机的配置对话框的属性

我们已经构建了一个自定义打印对话框,其中包含一个用于显示打印机特定对话框 我读了Shurup的 这个答案 ,它帮助我实现了这个目标。 ( 编辑:但它包含错误,如我的回答中所述) 但是,我们将其与存储的设置结合使用。 当我们用PrinterSettings调用方法时,它们会被忽略。 无论提供的设置对象如何,本机对话框都会显示其默认设置。 编辑:删除了我的失败代码。

直接向打印机发送字符串

可能重复: 使用C#将文档发送到打印机 我想直接向打印机发送字符串值。 当然,我可以将数据表发送到打印机。 但首先我想知道如何在没有任何提示最终用户打印机的情况下发送我的字符串值。 我在互联网上搜索了3个小时但未找到任何回复。 请帮我。 谢谢 :)

如何将打印对话框添加到printpreviewdialog?

我的老板要我创建具有打印function的窗体,但他希望在预览后打印datagridview 。 所以现在我鼓励这个问题,当我点击printpreviewdialog上的打印按钮时,我无法打印多套纸张或选择打印机或进行任何更改。当我点击按钮时,它将直接打印纸张。 所以我希望加入printpreviewdialog和printdialog 。 为什么printpreviewdialog和printdialog只能用于不同的按钮? 当需要单击一个按钮进行预览并单击另一个按钮来打印多个设置并更改打印机时,缺乏可用性。 任何人都可以帮助我吗? PrintDialog类 DialogResult result = printDialog1.ShowDialog(); // If the result is OK then print the document. if (result == DialogResult.OK) { position = 0; pageno = 1; printDocument2.DefaultPageSettings.Margins = new Margins(20, 20, 20, 20); printDocument2.OriginAtMargins = true; printPreviewDialog1.Document = printDocument2; printPreviewDialog1.ShowDialog(); } PrintPreviewDialog上 printDocument3.DefaultPageSettings.Margins = new Margins(20, 20, […]

从Windows服务打印PDF

使用C#,如何在指定的打印机上打印PDF文档(后台没有任何对话框)?