关于Windows打印机驱动相关问题-如何利用Java(或其他)调用打印机驱动程序完成原始文件翻译为PCL语言的步骤
前面这些都是问题描述,问题在偏下面
场景:用户电脑上安装了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语言的步骤的更多相关文章
- 利用java反射动态调用方法,生成grid数据
项目中需要java后台查询并组装前台grid的数据,数据行数不定,数据行定义不定,开始用了最原始的方法,写了几百行,就是前台需要什么字段后台拼接什么字段,java代码冗余量非常大,并且不够灵活,一旦前 ...
- .Net中获取打印机的相关信息
原文:.Net中获取打印机的相关信息 新项目中牵涉到对打印机的一些操作,最重要的莫过于获取打印机的状态,IP等信息,代码量不大,但是也是自己花了一点时间总结出来的,希望能帮助需要的朋友. Printe ...
- Linux下hp打印机驱动hplip分析
Hplip分析 版本号是2.14,源代码位置:http://hplipopensource.com. 图的来源:http://hplipopensource.com/node/128. 实践中使用的打 ...
- Linux和Windows设备驱动架构比较
毕业后一直在学操作系统, 有时候觉得什么都懂了,有时候又觉得好像什么都不懂,但总体来说自认为对操作系统实现机制的了解比周围的人还是要多一些.去年曾花了几个星期的晚上时间断断续续翻译了这篇对Linux和 ...
- Windows网络驱动、NDIS驱动(微端口驱动、中间层驱动、协议驱动)、TDI驱动(网络传输层过滤)、WFP(Windows Filtering Platform)
catalog . 引言 . Windows 2000网络结构和OSI模型 . NDIS驱动 . NDIS微端口驱动编程实例 . NDIS中间层驱动编程实例 . NDIS协议层驱动编程实例 . TDI ...
- Centos 6.8下安装LBP2900打印机驱动
今天第一次在Linux下面安装LBP2900的驱动程序,在安装的过程中出现了不少的问题,不过问题最终还是解决了. 1.下载LBP2900的Linux驱动程序: Linux_LBP2900_CAPT_P ...
- Windows 2008驱动安装失败的原因及解决方法
希望这些内容能够帮助各位朋友顺利地在Windows Server 2008系统环境下安装使用好各种设备的驱动程序! 寻找安装失败原因 一般来说,当我们将目标设备的驱动安装光盘正确放置到Windows ...
- (九)打印机驱动设置—USB接口的设置
佳博打印机代理商淘宝店https://shop107172033.taobao.com/index.htm?spm=2013.1.w5002-9520741823.2.Sqz8Pf 在此店购买的打印机 ...
- windows设备驱动安装指南
高观点下的设备驱动安装(overview) 一.windows是怎样安装设备的? 第一步:新设备的识别 在给一个新设备安装驱动之前,总线或集线器(hub)驱动会为连接到PC上的设备分配一个硬件ID(h ...
- WPF安装打印机驱动后PrintDialog 执行打印事件
原文:WPF安装打印机驱动后PrintDialog 执行打印事件 WPF可以很好的利用流文档来实现打印预览和PrintDialog 实现打印功能,但是我在这只是写了一个很简单的打印功能演示. Page ...
随机推荐
- Vmware安装Deepin20
一.搭建环境 虚拟机:Vmware Workstation pro 17 Windows版本 镜像:Deepin 20 二.创建虚拟机 1.点击创建新的虚拟机,选择典型 2.选择稍后安装 3.选择li ...
- AutoreleasePool 的总结
1.创建和释放时机问题 App启动后,苹果在主线程 RunLoop 里注册了两个 Observer,其回调都是 _wrapRunLoopWithAutoreleasePoolHandler(). 第一 ...
- 利用InnoStep在VS编译时自动构建安装包
摘要 很多同学在C/S开发领域或多或少都可能会遇到需要制作安装包的场景,打包的工具也是五花八门,例如有NSIS.InstallShield.Wix Toolset.ClickOnce等等,这里以Inn ...
- SEO相关配置 HTML meta标签总结与属性使用介绍
HTML meta标签总结与属性使用介绍 <!-- 声明文档使用的字符编码 --> <meta charset='utf-8'> <!-- 优先使用 IE 最新版本和 C ...
- 探索Java通信面试的奥秘:揭秘IO模型、选择器和网络协议,了解面试中的必备知识点!
了解常见的TCP/UDP TCP(Transmission Control Protocol)是一种面向连接的可靠的传输协议.类似于打电话,它通过建立一个连接和保证数据的可靠传输来提高通信的可靠性.然 ...
- linux下的venv使用
首先安装该模块: sudo apt-get install python3-venv 之后创建用于存储工程的文件夹 mkdir [filename] 创建环境: python3 -m venv ven ...
- Django日志输出
# 自定义日志输出信息 LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'formatters': { 'standard': ...
- protolator - Protobuf <==> json
github.com/hyperledger/fabric-config/protolator 是 Hyperledger Fabric 中的一个 Go 包,用于将 Protocol Buffers( ...
- Cesium 概述 (二) 空间数据可视化
https://blog.csdn.net/happyduoduo1/article/details/51865811/
- 如何在linux上安装neovim0.9(以debian和ubuntu为例) – 东凭渭水流
发布于 1 分钟前 3 次阅读 由于apt中只有neovim-0.72的安装包.想使用新版需要自己安装,以下是安装过程 1.首先需要卸载旧版neovim sudo remove neovim 2.从 ...