本文目录
- HP打印机驱动PCL6 PCL5 和POSTSCRIPT什么区别,我驱动应该装哪个好
- 关于postscript打印机驱动程序
- postscript驱动是什么东西我的是爱普生打印机 怎么来装这个驱动设置
- 如何用c#代码检测打印机和驱动是否支持postscript
HP打印机驱动PCL6 PCL5 和POSTSCRIPT什么区别,我驱动应该装哪个好
PCL5是HP公司为它的激光打印机LaserJetⅢ设计的,它提供了一些与PostScript语言相似的功能,开始支持矢量字库和矢量图形描述,实现了WYSIWYG(What You See Is What You Get, 所见即所得), PCL5中也使用了各种压缩技术来减小数据量,加快数据传输。 PCL5e 开始支持双向数据通讯,从而使打印机可以向计算机发送打印机的状态信息。PCL5c增加了对彩色打印的支持。 1996年HP公司发布了PCL6,它更加灵活,是一个目标朝向的控制语言,使处理多图形的文件的速度大大加快,实现了更好的WYSIWYG,可以更好地处理Web页面。
关于postscript打印机驱动程序
这是打印机一种打印机语言,目前主要有三种控制语言:PS、PCL和GDI。PS也就是你说的PostScript,这是1985年由Adobe推出。这种打印语言的打印机一般在中高速机上使用,因为它的版权比较贵。我们常见的就是GDI基于主机的语言,一般在1500元以下的激光打印机使用。例如HP10201108等机器。PCL:(PrintingControlLanguage)是惠普公司开发的,有PCL5、PCL6,这个都在1500元以上的机器使用。用PS语言的机器会更贵一些。你要看看你的机器去不支持PS语言。你可以发个型号过来给你看看。
postscript驱动是什么东西我的是爱普生打印机 怎么来装这个驱动设置
PostScript语言 PostScript是一种与设备无关的打印机语言,即在定义图像时可以根本不考虑输出设备的特性(如打印机的分辨率、纸张大小等),而且它对文本和图形实行同样的处理过程,这就给处理字体带来了极大的灵活性。由于PostScript的设备无关特性,在输出到特定输出设备,譬如对分辨率、纸张大小、进纸盒进行选择时,PostScript通过打印机描述(PostScript Printer Description )文件来实行各种打印机的不同特性。PPD文件主要提供以下与打印机有关的特定信息: 默认/最高分辨率,是否支持半色调监控,用户设定的监控信息,页面大小定义,页面可打印区域,默认字体(通常为Courier),是否支持双面打印等等。每一种不同的PostScript打印机都分别对应有专门的PPD文件。在Adobe公 司的网站postscript驱动是什么东西?postscript驱动是让打印机能识别打印语言PostScript的驱动程序!如果驱动程序是exe文件,直接点击安装即可!
如何用c#代码检测打印机和驱动是否支持postscript
Silverlight5支持PostScript矢量打印,矢量打印相比于位图打印速度更快,生成的打印文件更小。SL5默认会采用PS矢量打印,如果打印机不支持,自动切换到位图打印。虽然微软SL打印组认为PS已经相当普遍,但我想大多数打印机估计并未安装支持PostScript的驱动。HP打印机默认的会是PCL的,估计微软选用PS是学Flash:如何用代码检测打印机是否支持PostScript呢?代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;using System.Runtime.InteropServices;namespace PrinterSupportPS{ class Program { static void Main(string args) { string printerName = “Microsoft XPS Document Writer“; Console.WriteLine(PrinterSupportsPostScript(printerName)); Console.Read(); } static Int32 GETTECHNOLOGY = 20; static Int32 QUERYESCSUPPORT = 8; static Int32 POSTSCRIPT_PASSTHROUGH = 4115; static Int32 ENCAPSULATED_POSTSCRIPT = 4116; static Int32 POSTSCRIPT_IDENTIFY = 4117; static Int32 POSTSCRIPT_INJECTION = 4118; static Int32 POSTSCRIPT_DATA = 37; static Int32 POSTSCRIPT_IGNORE = 38; static extern int ExtEscape(IntPtr hdc, int nEscape, int cbInput, IntPtr lpszInData, int cbOutput, IntPtr lpszOutData); static extern IntPtr CreateDC(string lpszDriver, string lpszDevice, IntPtr lpszOutput, IntPtr lpInitData); static extern bool DeleteDC(IntPtr hdc); static bool PrinterSupportsPostScript(string printername) { ArrayList PSChecks = new ArrayList(); PSChecks.Add(POSTSCRIPT_PASSTHROUGH); PSChecks.Add(ENCAPSULATED_POSTSCRIPT); PSChecks.Add(POSTSCRIPT_IDENTIFY); PSChecks.Add(POSTSCRIPT_INJECTION); PSChecks.Add(POSTSCRIPT_DATA); PSChecks.Add(POSTSCRIPT_IGNORE); IntPtr hDC = IntPtr.Zero; ; IntPtr BLOB = IntPtr.Zero; try { hDC = CreateDC(null, printername, IntPtr.Zero, IntPtr.Zero); int isz = 4; BLOB = Marshal.AllocCoTaskMem(isz); Marshal.WriteInt32(BLOB, GETTECHNOLOGY); int test = ExtEscape(hDC, QUERYESCSUPPORT, 4, BLOB, 0, IntPtr.Zero); if (test == 0) return false; // printer driver does not support GETTECHNOLOGY Checks. foreach (Int32 val in PSChecks) { Marshal.WriteInt32(BLOB, val); test = ExtEscape(hDC, QUERYESCSUPPORT, isz, BLOB, 0, IntPtr.Zero); if (test != 0) return true; // if any of the checks pass, return true } } catch (Exception ex) { Console.WriteLine(ex); } finally { if (hDC != IntPtr.Zero) DeleteDC(hDC); if (BLOB != IntPtr.Zero) Marshal.Release(BLOB); }; return false; } }} 大家可以建一个控制台程序,用这段代码检测一下。