Tag: printing

使用.NET PrintDocument打印时选择正确的纸张大小

当我遍历每个页面时,我需要决定页面的大小并选择打印它的大小。是否有一种简单的方法来确定它们的大小? 现在我的宽度和高度比例。 如果比率> = 1.64 && ratio = 1.29 && ratio <= 1.30信件大小。 但如果他们打印其他尺寸怎么样我必须为每个尺寸做这个吗?

如何确定Adobe PDF打印机的“Ne”端口?

如何检测打印机所在的端口(Ne01:,Ne02:,Ne99:等)? BigCorp的计算机(WinXP)安装了Adobe Acrobat(版本7.0 Pro),它提供了一个名为“Adobe PDF”的虚拟打印机。 如果在录制宏的同时将Excel(2003)工作簿打印为pdf,则打印机的全名为“Nexx上的Adobe PDF:”,其中xx是两位数….根据您尝试使用的计算机而不同 。 我已经使用Excel.Interop编写了一个C#控制台应用程序(我强烈反对其他任何人开始这条路走向地狱),这会打开一系列电子表格。 它在每个中运行一个宏,保存,打印为pdf,然后将pdf移动到共享驱动器上的报告文件夹。 我面临的问题是,每次安装Acrobat似乎都会为PDF打印机选择一个随机端口号…我无法弄清楚如何获得它。 到目前为止,我已经尝试过像这样使用Win32_Printer类 var searcher = new ManagementObjectSearcher( @”SELECT * FROM Win32_Printer” ); foreach ( ManagementObject printer in searcher.Get() ) { if ( Regex.IsMatch( printer[“Name”].ToString(), @”(adobe|pdf)”, RegexOptions.IgnoreCase ) ) { //printer[“Name”]; => “Adobe PDF” //printer[“PortName”] => “my documents/*.pdf” foreach ( PropertyData pd in printer.Properties ) { […]

如何使用GTKSharp打印图像

我正在将一个C#.NET应用程序移植到Mono .NET,以便在OSX中执行。 部分应用程序涉及打印图像。 在.NET中相当容易,主要归结为 e.Graphics.DrawImage(img, new Rectangle(x, y, printSize.Width, printSize.Height)); 在PrintDocument的PrintPage事件中。 Mono没有System.Drawing.Printing的完整实现,所以似乎最好的方法是使用GtkSharp。 我在网上找到了一些关于如何使用Gtk.PrintOperation打印文本的例子。 PrintOperation有一个事件DrawPage应该类似于PrintPage,但是我只能找到如何使用PangoSharp在这个事件中打印文本。 足够解释我所知道的,我认为问题是相当直截了当的。 我希望有人可以提供帮助,因为GtkSharp的打印没有很好的记录。 如果有更好的方法在GtkSharp之外做到这一点,我全都听见了。 非常感谢。 编辑 所以我设法打印了一些东西,然而,它始终是一个空白页面。 这是代码: var print = new PrintOperation(); print.BeginPrint += (obj, args) => { print.NPages = 1; }; print.DrawPage += (obj, args) => { PrintContext context = args.Context; Cairo.Context cr = context.CairoContext; var imageSurface = new Cairo.ImageSurface(printImage.FileName); […]

如何在SELECTED打印机中打印任何文档

我想使用.net打印选定打印机中的任何文档,如pdf,word,excel或文本文件。我已成功在默认打印机中进行此类打印。现在唯一的问题是在所选打印机中打印。 这是打印的代码。 public bool Print(string FilePath) { if (File.Exists(FilePath)) { if (ShellExecute((System.IntPtr )1, “Print”, FilePath, “”, Directory.GetDirectoryRoot(FilePath), SW_SHOWNORMAL).ToInt32() <= 32) { return false; } else { return true; } } else { return false; } }

Graphics.DrawString以printdocument宽度为中心

我试图将一个字符串放在printdocument上。 我用图像完成了以下操作并且它可以工作,但似乎对字符串不起作用。 这是我用来居中图像的代码 e.Graphics.DrawImage(logo, (e.MarginBounds.Width / 2) – (logo.Width / 2), height); 我试图居中的文本是从TabControl中的Tab提供的 using (var sf = new StringFormat()) { height = logo.Height + 15; sf.LineAlignment = StringAlignment.Center; sf.Alignment = StringAlignment.Center; e.Graphics.DrawString(tabData.Text, new Font(this.Font.Name, 10), new SolidBrush(tabData.ForeColor), (e.MarginBounds.Width / 2) – (txtData.Width / 2), height, sf); } 我也在下面尝试过并使用string_size.Width / 2代替txtData.Width SizeF string_size = e.Graphics.MeasureString(tabData.Text, tabData.Font); […]

如何设置pdf页面设置以打印属性对话框?

大家好我想知道如何将pdf页面设置设置为打印属性对话框? 例如,如果我的PDF页面设置为横向,则布局会自动显示横向不是纵向。 如果我的PDF页面设置是Protrait,则Layout会自动显示Portrait。 我已就此主题进行了研发,但没有找到任何满意的链接。 请给我满意的答复。 这对我很有帮助。

有没有比这更好的方法从PrintDocument获取页数?

这是我提出的最好的: public static int GetPageCount( PrintDocument printDocument ) { printDocument.PrinterSettings.PrintFileName = Path.GetTempFileName(); printDocument.PrinterSettings.PrintToFile = true; int count = 0; printDocument.PrintController = new StandardPrintController(); printDocument.PrintPage += (sender, e) => count++; printDocument.Print(); File.Delete( printDocument.PrinterSettings.PrintFileName ); return count; } 有一个更好的方法吗? (这实际上很慢)

iTextSharp PDF打印

我正在尝试创建一个方法,将PDF文件直接发送到我的打印机(导致打印对话框出现)。 下面是我一直在研究的代码 – 大部分都在这里的论坛中找到 。 如果我使用iTextSharp创建一个新的PDF文档,它工作正常,但是当我尝试将一些JavaScript注入现有文件时,我在调用print()方法时遇到exception 对象不支持属性或方法’print’ function load() { try { var x = document.getElementById(“frame1”); x.print(); } catch (err) { } } .CS文件 using System.IO; using iTextSharp.text; using iTextSharp.text.pdf; public partial class Print : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SetPDF(File.ReadAllBytes(“C:\\1686850.pdf”), “C:\\1686850_1.pdf”); //test files } private void SetPDF(byte[] file, string outputPath) […]

基于.NET服务器的PDF生成

我想动态生成内容,然后渲染为PDF文件。 此处理将在远程托管服务器上进行,因此使用虚拟打印机等。 有没有建议使用.NET库(pref C#)? 我知道我可以生成一堆PS代码并自己封装,但我更喜欢在这个阶段不那么狡猾的东西。 谢谢!

使用PrintDocument打印图像。 如何调整图像以适合纸张尺寸

在C#中,我尝试使用PrintDocument类使用以下代码打印图像。 图像宽度为1200像素,高度为1800像素。 我正在尝试使用小型zeebra打印机在4 * 6纸张中打印此图像。 但该程序只打印4 * 6的大图像。 这意味着它没有根据纸张尺寸调整图像! PrintDocument pd = new PrintDocument(); pd.PrintPage += (sender, args) => { Image i = Image.FromFile(“C://tesimage.PNG”); Point p = new Point(100, 100); args.Graphics.DrawImage(i, 10, 10, i.Width, i.Height); }; pd.Print(); 当我使用“窗口打印”打印相同的图像时(右键单击并选择打印,它会自动缩放到纸张大小并正确打印。这意味着所有内容都是4 * 6纸张。)我如何在C#程序中执行相同的操作?