前面这些都是问题描述,问题在偏下面

场景:用户电脑上安装了PCL驱动,可通过驱动完成打印。

需求:现在需要提供一种脱离PC端完成文件上传并打印的功能。让用户使用手机或pc未安装驱动时都能打印文件。

目前思路:首先上传文件这一步没有任何问题,开发了相应的H5界面,通过浏览器进行原始文件的上传。

难点在于用户多种多样类型格式的文件,如何转换为打印机能够输出的文件。

现阶段是通过各种各样的转换方法东拼西凑,支持将doc(x)、xls(x)、ppt(x)、txt、jpg/png统一转为PDF文件,然后通过PCL命令LANGUAGE=PDF,传输给打印机,完成PDF文件的输出。

这种方法目前能凑合着用,但是各类型文件转PDF这一步比较麻烦。

现在想了一种新的思路:在服务器上安装我们的PCL驱动,然后通过命令行或者JAVA或者C#等编程语言,来触发打印机打印文件。

尝试一:

通过搜索引擎了解到了JAVA内置的PrintService类,我测试了两种类型的作业:PrinterJob和DocPrinterJob,

- 前者需要提供一个Printable对象,这个对象就是需要你自己把各类型文档的内容先解析一遍,再按照它的标准接口绘制到它的图形里去。------- 还是需要自己对文档进行转换,太麻烦了,被pass了。

- 后者就是把你文档内容原封不动的传给打印机。-----根本没做转换动作,pass。

尝试二:

通过搜索引擎了解到了批处理的【print】命令,测试后发现不行

还试了write /pt 111.pdf "打印机" " 驱动" "test.prn"命令,它应该是调用了记事本的接口,只能输出txt文件(还会乱码)。其他文件不合适。

尝试三(待实现):

还是通过搜索引擎,看了操作系统是如何控制打印机打印文件的? - 知乎 (zhihu.com)这篇文档,了解了文件转PCL一般是驱动程序完成的(回过头来想想也是,所以【尝试一】中,直接调用打印机服务进行打印并没有对进行文件转换,因为是驱动完成的这一步)。

问题在这

所以想咨询园内大佬:有没有什么方法,能够通过非手动的方法,唤起我电脑上的驱动程序,进行文件的转换。用的驱动是【MINOLTA C368SeriesPCL】

扩展:

如果上一步可行,我看到windows电脑上还自带了一个【Microsoft Print To PDF  】的打印机和驱动程序,是否就可以用相同的方式完成各类型文件转PDF的功能???

本人从事打印机相关的软件行业,对打印机、打印驱动这些有一丢丢了解,但又不是很清晰,如果有哪里说的不对,欢迎指正。接受批评。

关于Windows打印机驱动相关问题-如何利用Java(或其他)调用打印机驱动程序完成原始文件翻译为PCL语言的步骤的更多相关文章

  1. 利用java反射动态调用方法,生成grid数据

    项目中需要java后台查询并组装前台grid的数据,数据行数不定,数据行定义不定,开始用了最原始的方法,写了几百行,就是前台需要什么字段后台拼接什么字段,java代码冗余量非常大,并且不够灵活,一旦前 ...

  2. .Net中获取打印机的相关信息

    原文:.Net中获取打印机的相关信息 新项目中牵涉到对打印机的一些操作,最重要的莫过于获取打印机的状态,IP等信息,代码量不大,但是也是自己花了一点时间总结出来的,希望能帮助需要的朋友. Printe ...

  3. Linux下hp打印机驱动hplip分析

    Hplip分析 版本号是2.14,源代码位置:http://hplipopensource.com. 图的来源:http://hplipopensource.com/node/128. 实践中使用的打 ...

  4. Linux和Windows设备驱动架构比较

    毕业后一直在学操作系统, 有时候觉得什么都懂了,有时候又觉得好像什么都不懂,但总体来说自认为对操作系统实现机制的了解比周围的人还是要多一些.去年曾花了几个星期的晚上时间断断续续翻译了这篇对Linux和 ...

  5. Windows网络驱动、NDIS驱动(微端口驱动、中间层驱动、协议驱动)、TDI驱动(网络传输层过滤)、WFP(Windows Filtering Platform)

    catalog . 引言 . Windows 2000网络结构和OSI模型 . NDIS驱动 . NDIS微端口驱动编程实例 . NDIS中间层驱动编程实例 . NDIS协议层驱动编程实例 . TDI ...

  6. Centos 6.8下安装LBP2900打印机驱动

    今天第一次在Linux下面安装LBP2900的驱动程序,在安装的过程中出现了不少的问题,不过问题最终还是解决了. 1.下载LBP2900的Linux驱动程序: Linux_LBP2900_CAPT_P ...

  7. Windows 2008驱动安装失败的原因及解决方法

    希望这些内容能够帮助各位朋友顺利地在Windows Server 2008系统环境下安装使用好各种设备的驱动程序! 寻找安装失败原因 一般来说,当我们将目标设备的驱动安装光盘正确放置到Windows ...

  8. (九)打印机驱动设置—USB接口的设置

    佳博打印机代理商淘宝店https://shop107172033.taobao.com/index.htm?spm=2013.1.w5002-9520741823.2.Sqz8Pf 在此店购买的打印机 ...

  9. windows设备驱动安装指南

    高观点下的设备驱动安装(overview) 一.windows是怎样安装设备的? 第一步:新设备的识别 在给一个新设备安装驱动之前,总线或集线器(hub)驱动会为连接到PC上的设备分配一个硬件ID(h ...

  10. WPF安装打印机驱动后PrintDialog 执行打印事件

    原文:WPF安装打印机驱动后PrintDialog 执行打印事件 WPF可以很好的利用流文档来实现打印预览和PrintDialog 实现打印功能,但是我在这只是写了一个很简单的打印功能演示. Page ...

随机推荐

  1. gRPC vs. HTTP:网络通信协议的对比

    概述 gRPC 和 HTTP 是两种常见的网络通信协议,用于在客户端和服务器之间进行通信.它们具有不同的特点和适用场景,下面对它们进行详细比较. HTTP(Hypertext Transfer Pro ...

  2. 堆栈式 CMOS、背照式 CMOS 和传统 CMOS 传感器的区别

    光电效应 光电效应的现象是赫兹(频率的单位就是以他命名的)发现的,但是是爱因斯坦正确解释的.简单说,光或某一些电磁波,照射在某些光敏物质会产生电子,这就是光电效应. 这就将光变为了电,光信号的改变会带 ...

  3. 十分钟学会angular

    首先笔者有一定的vue基础,但是遇到了含有angular的应用,因此需要学习angular的应用,在学习过程中将自己的学习步骤给一一记录下来,因此假设读者也是具有html及js的基础,在此基础上可以跟 ...

  4. 在Java项目中使用redisson实现分布式锁

    Redisson自定义注解实现分布式锁 在Java项目中使用Redission自定义注解实现分布式锁: 添加Redission依赖项:在项目的pom.xml中添加Redission依赖项: <d ...

  5. vue+element 判断table表格输入不能为空

    点击确定的时候,判断表格其中某行某值不能为空 1.HTML <div class="app-container"> <el-form ref="form ...

  6. yum与软件包

    从一个命令开始 yum provides iostat ## 找到软件包名为:sysstat-10.1.5-19.el7.x86_64 安装软件包 yum install sysstat-10.1.5 ...

  7. Android 架构模式如何选择

    作者:vivo 互联网客户端团队-Xu Jie Android架构模式飞速演进,目前已经有MVC.MVP.MVVM.MVI.到底哪一个才是自己业务场景最需要的,不深入理解的话是无法进行选择的.这篇文章 ...

  8. 学习Linux,要把握哪些重点?

    学习Linux,要把握哪些重点? 不知道有没有想学习Linux,但又把握不住学习重点,找不到合适的学习方法的小伙伴,反正我刚开始学习Linux时就像无头苍蝇似的"乱撞",没有把握住 ...

  9. centos7安装weblogic

    前言 简介:weblogic是java应用服务器软件的一种,类似于tomcat,但功能更多,适用于大型应用场景. 版本: 系统:centos 7(最小化安装,无图形化界面) jdk: oraclejd ...

  10. golang1.21新特性速览

    经过了半年左右的开发,golang 1.21 在今天早上正式发布了. 这个版本中有不少重要的新特性和变更,尤其是在泛型相关的代码上. 因为有不少大变动,所以建议等第一个patch版本也就是1.21.1 ...