js实现浏览器打印PDF

光速云插件

特点

  • 免费浏览器打印PDF/HTML/图片/Word文档/Excel/PPT/指令打印/自定义绘图。
  • 支持超大PDF文件打印,能够快速响应打印。
  • 使用静默方式打印。
  • 读取串口数据。
  • 读取电子秤重量。
  • 支持谷歌、火狐、IE7+等浏览器。
  • 支持HTTPS协议的站点。
  • 跨平台,支持Windows、Linux、Mac、Android系统

安装

文档

1. 打印PDF

GSCloudPlugin.PrintPdf({
			Title:"PDF0001",
			Width: 100,
			Height: 150,
			Url: "https://domain/demo.pdf",
			PrinterName: "",
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		     });
字段说明
属性说明类型默认值
Title标题String默认GUID格式字符串
Width纸张宽度。单位毫米Int0
Height纸张高度。单位毫米;值为0时,打印高度自适应,应用于连续纸张Int0
UrlPDF文件地址String
PrinterName打印机名称。不传值则使用默认打印机String
Pages指定打印页码。例:值为"2,5",指定打印第2、3、4、5页;如果只需打印第2页,设置值为"2"String
UseFileCache适用于大文件。需要先调用下载文件异步下载文件注意:并且需要设置Title一致boolfalse
RemoveMargin移除空白边距。适用于四周有较大的空白边距的不正规PDF文档;当然其他的类型打印也可以使用该参数boolfalse
CookiescookieArray(Cookie)
HttpHeadershttp头信息Array(HttpHeader)
Copies打印文档份数Int1
IsAsync是否异步;如果为true,则每打印完一页,就会回调一次;如果为false,则等到全部页打印完,才回调一次。支持浏览器:谷歌、火狐、IE10+boolfalse

2. 打印图片

GSCloudPlugin.PrintImage({
			Title:"PNG0001",
			Width: 100,
			Height: 150,
			Url: "https://domain/demo.png",
			PrinterName: "",
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		     });
字段说明
属性说明类型默认值
Title标题String默认GUID格式字符串
Width纸张宽度。单位毫米Int0
Height纸张高度。单位毫米;值为0时,打印高度自适应,应用于连续纸张Int0
Url图片文件地址String
PrinterName打印机名称。不传值则使用默认打印机String
CookiescookieArray(Cookie)
HttpHeadershttp头信息Array(HttpHeader)
Copies打印文档份数Int1

3. 打印HTML

GSCloudPlugin.PrintHtml({
			Title:"HTML0001",
			Width: 210,
			Height: 297,
			Url: "https://domain/demo.html",
			PrinterName: "",
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		     });
字段说明
属性说明类型默认值
Title标题String默认GUID格式字符串
Width纸张宽度。单位毫米Int0
Height纸张高度。单位毫米;值为0时,打印高度自适应,应用于连续纸张Int0
UrlHTML网页地址String
PrinterName打印机名称。不传值则使用默认打印机String
CookiescookieArray(Cookie)
HttpHeadershttp头信息Array(HttpHeader)
Copies打印文档份数Int1

4. 打印Word文档

GSCloudPlugin.PrintWord({
			Title:"Word0001",
			Width: 210,
			Height: 297,
			Url: "https://domain/demo.docx",
			PrinterName: "",
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		     });
字段说明
属性说明类型默认值
Title标题String默认GUID格式字符串
Width纸张宽度。单位毫米Int0
Height纸张高度。单位毫米;值为0时,打印高度自适应,应用于连续纸张Int0
UrlWord文档地址String
PrinterName打印机名称。不传值则使用默认打印机String
CookiescookieArray(Cookie)
HttpHeadershttp头信息Array(HttpHeader)
Copies打印文档份数Int1

5. 打印自定义绘图

GSCloudPlugin.PrintDraw({
			Title:"DRAW0001",
			Width: 60,
			Height: 20,
			Texts:[
				{Content:"宇宙飞船",FontSize:2.6,X:1,Y:10,Width:48,Trimming:"EllipsisCharacter",Alignment:"Center"},
				{Content:"Spacecraft",FontSize:2.6,X:1,Y:13,Width:48,Alignment:"Center"},
				{Content:"Mede in China",FontSize:2.6,X:1,Y:16,Width:48,FontStyle:"Bold"}
			],
			Barcodes:[
				{Width:58,Height:9,Format:"CODE_128",X:1,Y:1,Text:{Content:"001AEDWSDFR",FontSize:2.6,Position:"Top"}},
				{Width:9,Height:9,Format:"QR_CODE",X:49,Y:10.5,Text:{Content:"001AEDWSDFR"}}
			],
			PrinterName: "",
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		     });
字段说明
属性说明类型默认值
Title标题String默认GUID格式字符串
Width纸张宽度。单位毫米Int0
Height纸张高度。单位毫米;值为0时,打印高度自适应,应用于连续纸张Int0
PrinterName打印机名称。不传值则使用默认打印机String
Texts文本。该字段也适用于PDF、图片、HTML、Word打印Array(Text)
Lines线条。该字段也适用于PDF、图片、HTML、Word打印Array(Line)
Rectangles矩形。该字段也适用于PDF、图片、HTML、Word打印Array(Rectangle)
Ellipses圆形。该字段也适用于PDF、图片、HTML、Word打印Array(Ellipse)
Barcodes条码。该字段也适用于PDF、图片、HTML、Word打印Array(Barcode)
Images图片。该字段也适用于PDF、图片、HTML、Word打印Array(Image)
HtmlsHtml。该字段也适用于PDF、图片、HTML、Word打印Array(Html)
CookiescookieArray(Cookie)
HttpHeadershttp头信息Array(HttpHeader)
Copies打印文档份数Int1
PrintMethod打印方式;值:Print(打印)、Preview(预览)、Design(设计)StringPrint

Text的字段说明
属性说明类型默认值
X起始坐标X。坐标原点为左上方float0
Y起始坐标Y。坐标原点为左上方float0
Width文本宽度范围float0
Height文本高度范围float0
Content内容String
FontSize文字大小,单位:PTfloat10
FontFamily字体String系统字体
Color颜色。RGBA用","隔开String0,0,0
LineSpacing行距,单位PTfloat0
Trimming文本修整方式。值:None(不进行任何修整)、Character(将文本修整成最接近的字符)、Word(将文本修整成最接近的单词)、EllipsisCharacter(将文本修整成最接近的字符,并在被修整的行的末尾插入一个省略号)、EllipsisWord(将文本修整成最接近的单词,并在被修整的行的末尾插入一个省略号)、EllipsisPath(中心从被修整的行移除并用省略号替换)StringNone
Alignment文本水平对齐方式。值:Left(左对齐)、Center(居中对齐)、Right(右对齐)StringLeft
FontStyle字体样式。值:Regular(普通文本)、Bold(加粗文本)、Italic(倾斜文本)、Underline(带下划线的文本)、Strikeout(中间有直线通过的文本)StringRegular
Angle角度int0
SortIndex绘制顺序索引int0

Line的字段说明
属性说明类型默认值
X起始坐标X。坐标原点为左上方float0
Y起始坐标Y。坐标原点为左上方float0
Width文本宽度范围float0
Height文本高度范围float0
DashStyle线条样式。值:Solid(实线)、Dash(由划线段组成的直线)、Dot(由点构成的直线)、DashDot(由重复的划线点图案构成的直线)、DashDotDot(由重复的划线点点图案构成的直线)StringSolid
StrokeWidth描边宽度float0
Color颜色。RGBA用","隔开String0,0,0
SortIndex绘制顺序索引int0

Rectangle的字段说明
属性说明类型默认值
X起始坐标X。坐标原点为左上方float0
Y起始坐标Y。坐标原点为左上方float0
Width文本宽度范围float0
Height文本高度范围float0
Color颜色。RGBA用","隔开String0,0,0
FillColor填充色。RGBA用","隔开String0,0,0
StrokeWidth描边宽度float0
DashStyle线条样式。值:Solid(实线)、Dash(由划线段组成的直线)、Dot(由点构成的直线)、DashDot(由重复的划线点图案构成的直线)、DashDotDot(由重复的划线点点图案构成的直线)StringSolid
Angle角度int0
SortIndex绘制顺序索引int0

Ellipse的字段说明
属性说明类型默认值
X起始坐标X。坐标原点为左上方float0
Y起始坐标Y。坐标原点为左上方float0
Width文本宽度范围float0
Height文本高度范围float0
Color颜色。RGBA用","隔开String0,0,0
FillColor填充色。RGBA用","隔开String0,0,0
StrokeWidth描边宽度float0
DashStyle线条样式。值:Solid(实线)、Dash(由划线段组成的直线)、Dot(由点构成的直线)、DashDot(由重复的划线点图案构成的直线)、DashDotDot(由重复的划线点点图案构成的直线)StringSolid
Angle角度int0
SortIndex绘制顺序索引int0

Barcode的字段说明
属性说明类型默认值
X起始坐标X。坐标原点为左上方float0
Y起始坐标Y。坐标原点为左上方float0
Width条码宽度float0
Height条码高度float0
Format条码格式。值:Aztec、Codabar、Code39、Code93、Code128、DataMatrix、EAN8、EAN13、ITF、PDF417、QRCode(二维码)、UPCA、UPCE、MSI、PLESSEYStringCode128
Text文本。BarcodeText
TextPosition文本位置。值:Top(在条码的上方)、Bottom(在条码的下方)StringBottom
Angle角度int0
SortIndex绘制顺序索引int0

BarcodeText的字段说明
属性说明类型默认值
Content内容。如果不需要显示文本内容,则只设置此字段值,不设置其他字段值String
FontSize文字大小。单位:PTfloat0
FontFamily字体String系统字体
Color颜色。RGBA用","隔开String0,0,0
FontStyle字体样式。值:Regular(普通文本)、Bold(加粗文本)、Italic(倾斜文本)、Underline(带下划线的文本)、Strikeout(中间有直线通过的文本)StringRegular
HideText显示条码文本。只对默认带有文本的条码有效booltrue

Image的字段说明
属性说明类型默认值
X起始坐标X。坐标原点为左上方float0
Y起始坐标Y。坐标原点为左上方float0
Width条码宽度float0
Height条码高度float0
Url图片地址或Base64编码String
ZoomMode缩放模式。值:Ratio(比例缩放)、Distortion(变形缩放)、Origin(原始大小。dpi为96)StringRatio
Angle角度int0
SortIndex绘制顺序索引int0

Html的字段说明
属性说明类型默认值
X起始坐标X。坐标原点为左上方float0
Y起始坐标Y。坐标原点为左上方float0
Width条码宽度float0
Height条码高度float0
UrlHtml地址或Html代码String
Angle角度int0
SortIndex绘制顺序索引int0

6. 下载文件

GSCloudPlugin.DownloadFile({
			Title:"File0001",
			Url: url,
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		     });
字段说明
属性说明类型默认值
Title标题。将会使用此值做为文件名保存String
Url文件地址String
CookiescookieArray(Cookie)
HttpHeadershttp头信息Array(HttpHeader)

7. 异步下载文件

GSCloudPlugin.DownloadFileAsync({
			Title:"File0002",
			Url: url,
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		     });
字段说明
属性说明类型默认值
Title标题。将会使用此值做为文件名保存String
Url文件地址String
CookiescookieArray(Cookie)
HttpHeadershttp头信息Array(HttpHeader)

8. 成功回调事件

字段说明
属性说明类型默认值
Title标题。与调用函数时设置的Title值一致String
OperationType操作类型。值:Print、GetPrinters、DownloadFile、DownloadFileAsyncString
Data响应数据。根据调用函数不同而返回不同的数据object
Message响应消息String

9. 错误回调事件

字段说明
属性说明类型默认值
Title标题。与调用函数时设置的Title值一致String
OperationType操作类型。值:Print、GetPrinters、DownloadFile、DownloadFileAsyncString
Message响应消息String
Code错误码int

10. 获取打印机信息

GSCloudPlugin.GetPrinterInfo({
		        PrinterName: "",
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		     });
请求字段说明
属性说明类型默认值
PrinterName打印机名称。不传值则使用默认打印机String
响应字段说明
属性说明类型
Status状态。值:0失败、1成功String
Message消息。String
Data数据Object
响应字段Data说明
属性说明类型
CanDuplex是否支持双面打印bool
IsPlotter是否是绘图仪bool
IsDefaultPrinter是否默认打印机bool
PrinterName打印机名称String

11. 获取打印队列

GSCloudPlugin.GetPrintQueue({
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		     });
响应字段说明
属性说明类型
Status状态。值:0失败、1成功String
Message消息。String
Data数据Array(Object)
响应字段Data说明
属性说明类型
Name任务名;与打印时设置的Title值一致String
PrinterIndex打印机索引号Int
PrinterName打印机名称String
JobStatus任务状态;值:None(无指定状态)、Paused(已暂停)、Error(错误)、Deleting(正在删除)、Spooling(正在进行后台打印)、Printing(正在打印)、Offline(脱机状态)、PaperOut(无法提供所需纸张大小)、Printed(已打印)、Deleted(通常情况下,打印完成后,系统会从队列中删除该打印作业)、Blocked(队列中该打印作业之前的打印作业可能出现了错误情况,因此该打印作业已被阻止)、UserIntervention(打印机要求通过用户操作来修复错误情况)、Restarted(打印作业被阻止,但已重新启动)、Completed(打印作业已完成,包括所有打印后处理)、Retained(打印作业打印完后仍保留在打印队列中)String
JobIdentifier打印任务标识号Int
TimeJobSubmitted提交打印任务时间String

12. 读取串口数据

GSCloudPlugin.ReadSerialPortData({
			PortName:"COM2",
			KeepAlive:true,
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		});
请求字段说明
属性说明类型默认值
PortName端口名StringCOM1
BaudRate波特率Int9600
Parity校验位;值:None(不发生奇偶校验检查)、Odd(奇数)、Even(偶数)、Mark(将奇偶校验位保留为 1)、Space(将奇偶校验位保留为 0)StringNone
DataBits数据位Int8
StopBits停止位;值:None(不使用停止位)、One(使用一个停止位)、Two(使用两个停止位)、OnePointFive(使用 1.5 个停止位)StringOne
KeepAlive保持连接;如果值为true,在不需要使用读取串口数据时,建议调用一下关闭串口方法,否则串口会一直被占用,其他程序将无法使用该串口booltrue
响应字段说明
属性说明类型
Status状态。值:0失败、1成功String
Message消息。String
Data数据String

13. 关闭串口

GSCloudPlugin.CloseSerialPort({
			PortName:"COM2",
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		});
请求字段说明
属性说明类型默认值
PortName端口名StringCOM1

14. 写入数据到串口

GSCloudPlugin.WriteSerialPortData({
			PortName:"COM1",
			Text:"123456",
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		});
请求字段说明
属性说明类型默认值
Text写入的文本数据String
PortName端口名StringCOM1
BaudRate波特率Int9600
Parity校验位;值:None(不发生奇偶校验检查)、Odd(奇数)、Even(偶数)、Mark(将奇偶校验位保留为 1)、Space(将奇偶校验位保留为 0)StringNone
DataBits数据位Int8
StopBits停止位;值:None(不使用停止位)、One(使用一个停止位)、Two(使用两个停止位)、OnePointFive(使用 1.5 个停止位)StringOne

15. 写入数据行到串口

GSCloudPlugin.WriteSerialPortData({
			PortName:"COM1",
			Text:"123456",
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		});
请求字段说明
属性说明类型默认值
Text写入的文本数据String
PortName端口名StringCOM1
BaudRate波特率Int9600
Parity校验位;值:None(不发生奇偶校验检查)、Odd(奇数)、Even(偶数)、Mark(将奇偶校验位保留为 1)、Space(将奇偶校验位保留为 0)StringNone
DataBits数据位Int8
StopBits停止位;值:None(不使用停止位)、One(使用一个停止位)、Two(使用两个停止位)、OnePointFive(使用 1.5 个停止位)StringOne

16. 写入字节数据到串口

GSCloudPlugin.WriteSerialPortData({
			PortName:"COM1",
			Bytes:"10,11,12",
			OnSuccess:function(result){
				console.log(result);
			},
			OnError:function(result){
				console.log(result);
			}
		});
请求字段说明
属性说明类型默认值
Bytes写入的字节数据。多个字节使用英文逗号隔开String
PortName端口名StringCOM1
BaudRate波特率Int9600
Parity校验位;值:None(不发生奇偶校验检查)、Odd(奇数)、Even(偶数)、Mark(将奇偶校验位保留为 1)、Space(将奇偶校验位保留为 0)StringNone
DataBits数据位Int8
StopBits停止位;值:None(不使用停止位)、One(使用一个停止位)、Two(使用两个停止位)、OnePointFive(使用 1.5 个停止位)StringOne

17. 客户端直接通过http方式调用光速云打印插件

URL:http://host:8365/print 其中host为客户端的内网ip地址
Method:POST
Content-Type:application/json

请求字段说明(其他字段参照PDF/图片/HTML/Word的打印字段说明)
属性说明类型默认值
MediumType文档类型。值:Pdf、Image、Html、Word、DrawString
OperationType操作类型。值:Print、GetPrinters、DownloadFile、DownloadFileAsyncString
AppKey注册码String
响应字段说明
属性说明类型
Status状态。值:0失败、1成功String
Message消息。String

其他

Cookie的字段说明
属性说明类型默认值
Domain域名。必填,否则无效String
Key键。必填,否则无效String
Value值。必填,否则无效String

HttpHeader的字段说明
属性说明类型默认值
Key键。必填,否则无效;值:CacheControl、Authorization、Cookie、RefererString
Value值。必填,否则无效String
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值