- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 Custom TG2480-H 打印机打印收据。除了 Logo ,我的所有收据都有效。
我有一个单色 .bmp
文件,代表 Logo 并具有正确的尺寸。
我正在检索文件,使用不同的响应类型:
this.http.get('/assets/images/brand/logo-bnw.bmp', {
responseType: ResponseContentType.Blob
}).subscribe((response: Response) => {
console.log('Blob bytes', this.kiowarePrintService.getBytesFromText(response.text()));
});
this.http.get('/assets/images/brand/logo-bnw.bmp', {
responseType: ResponseContentType.Text
}).subscribe((response: Response) => {
console.log('Text bytes', this.kiowarePrintService.getBytesFromText(response.text()));
});
this.http.get('/assets/images/brand/logo-bnw.bmp', {
responseType: ResponseContentType.ArrayBuffer
}).subscribe((response: Response) => {
console.log('ArrayBuffer bytes', this.kiowarePrintService.getBytesFromText(response.text()));
});
这是关于 ResponseContentType 的文档以及它可以具有的不同值。
这是 getBytesFromText
的代码:
getBytesFromText(text: string) {
const bytes: number[] = [];
for (let i = 0; i < text.length; i++) {
bytes.push(text.charCodeAt(i));
}
return bytes;
}
将响应转换为字节打印这些值:
Blob bytes (2) [123, 125]
Text bytes (951) [66, 77, 65533, 3, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 40, 0, 0, 0, 120, 0, 0, 0, 56, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65533, 3, 0, 0, 65533, 14, 0, 0, 65533, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65533, 65533, 65533, 0, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 0, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 0, 65533, 65533, 65533, 65533, 65533, 65533…]
ArrayBuffer bytes (479) [19778, 958, 0, 0, 0, 62, 0, 40, 0, 120, 0, 56, 0, 1, 1, 0, 0, 896, 0, 3780, 0, 3780, 0, 0, 0, 0, 0, 0, 0, 65535, 255, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 255, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 255, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 255, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 255, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 255, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 255, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 255, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 255, 65535, 65535, 65535, 65535, 65535…]
这些似乎都是错误的,Blob 字节数太少,另外两个都包含大于字节数 (>255) 的数字。
无论如何,我已经尝试将这些字节发送到打印机并得出以下结论:
Blob 什么都不打印
编辑:尝试添加 'content-type': 'image/bmp'
header :
const headers: Headers = new Headers({'Content-Type': 'image/bmp'});
const options: RequestOptions = new RequestOptions({headers: headers});
this.http.get('/assets/images/brand/logo-bnw.bmp', options).subscribe((response: Response) => {
console.log('image/bmp bytes', this.kiowarePrintService.getBytesFromText(response.text()));
});
记录这个:
image/bmp bytes (951) [66, 77, 65533, 3, 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 40, 0, 0, 0, 120, 0, 0, 0, 56, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 65533, 3, 0, 0, 65533, 14, 0, 0, 65533, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65533, 65533, 65533, 0, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 0, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 65533, 0, 65533, 65533, 65533, 65533, 65533, 65533…]
看起来和文本响应一样
最佳答案
您正在为所有返回类型使用 response.text()。对于二进制数据,您应该将其保存为一个 blob。您可以使用
访问底层字节而无需转换为文本response.arrayBuffer()
这应该会为您提供您期望的正确字节数组。
这个问题也很相关:Get Image or byte data with http
最佳答案采用的方法是:
var blob = new Blob([new Uint8Array(response._body)]
关于angular - 在自定义 TG2480H 打印机上打印 Logo ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44802825/
谁能看看这个 fiddle http://jsfiddle.net/pkcwtone/1/并告诉我为什么我无法将图像完全放入导航中? 这是 html:
到目前为止,我有 9 个 Logo ,并且我按列表顺序显示该 Logo 。现在我要做的是,我必须显示前 3 个 Logo 并等待几秒钟,然后隐藏该 3 个 Logo 并再次显示接下来的 3 个 Log
我正在尝试 ACSLogo(Mac 版本的 Logo)中的递归程序,并希望返回 2 个整数的列表(基本上是 X 坐标和 Y 坐标)。我不知道如何让它返回 2 个值。它没有问题。 此外,当您创建一个列表
我有一个用户以 PNG 格式上传的 Logo 。 我的目标是将用户上传的 Logo 转换为白色。 像这样 - 这样它在较暗的背景下看起来不错。 我可以导出它并使用 Photoshop 获得我想要的东西
经过多次研究后,我没有弄清楚如何将我的 Web 应用程序的 Logo 与导航项对齐。我创建了 Logo 图像,但无法以正确的方式对齐它!希望你们中的一些人能帮助我。 这是Haml代码 %heade
我在 Joomla 2.5 的模板上使用 Gantry 该模板在第一点设置为托管一个小图像作为 Logo ,但我希望它在宽度方面更改为更大的图像。 因此,现在它在 ipad 上不起作用,因为它开箱即用
我正在工作的站点的 Logo 出现在左侧,但我希望它居中。我该怎么办?在下方找到 CSS 代码。 header .logo{ display: inline-block; padding: 0; ve
我确信这使用 jquery 相当简单,但我无法弄明白。我有一个带有 Logo 的网站,该网站加载时会出现。当用户将鼠标悬停在某个导航链接上时,我想将该 Logo 与不同的 Logo 交换。 当鼠标悬停
我想知道使用 LOGO 是否有任何真正的缺点?我知道它是用来教 child 的,但理论上它可以用于更高级别的项目。除了它的许多不同版本之外,还有什么真正的缺点吗? 最佳答案 除了实际问题(跨平台支持、
我一直在尝试使用公司文档中发布的两种简单方法替换 JASPERSOFT CE 中的 Logo 和背景图像。我面临的问题是它从 MYSQL 数据库加载 _THEMES\5A5D753\IMAGES\LO
当用户将鼠标悬停在导航栏上时,我试图让我的 Logo 从透明背景变为填充背景。 目前,我的 JQuery 在悬停时工作,但当用户离开导航时, Logo 不会变回透明 Logo 。
我知道之前已经回答过类似的问题。但我无法弄清楚哪种方法是最好的。我发现有两种方法: 使用img 标签获取两张图片,一张是小尺寸的,一张是大尺寸的。在大屏幕上隐藏小尺寸 Logo ,在小尺寸屏幕上则相反
我在页眉中使用的 Logo 没有背景,但我在 Logo 悬停时添加了背景。我希望 Logo 背景放大,但我使用的代码使 Logo 放大而不是背景......如何更改代码以在不影响 Logo 的情况下放
我试图将 Logo 与其下方的相应文本水平对齐,以便它们看起来美观且有序。目前,它们只是垂直的。我搜索了这个网站和许多其他网站,并尝试了不同的解决方案,但似乎没有任何效果。这是我的代码。 .intro
我正在尝试调整 Logo 的大小,并在不调整导航栏大小的情况下将标题添加到 Logo 的一侧。 What the current navbar looks like HTML:
Toggle navigation
在我的网站上,我有一个 Logo 图像,然后是公司名称。目前它是堆叠的,所以它是 Logo 图像,下面是公司名称。 我想要的是他们肩并肩。因此,左侧是 Logo 图像,右侧是公司名称。 我做错了什么?
我读过 标签 is inappropriate for a logo .但是,如果您的 Logo 是纯文本,您应该使用什么?我觉得 和 也不合适。这是一个示例: Comp
Berkeley Logo User Manual 告诉我们,所有在连字符后的命令行参数都将收集在变量中: If a command line argument is just a hyphen, t
我试图将 Logo 与几个导航链接对齐,其中大多数网站的 Logo 在左侧,几个链接在右侧(这是我正在努力实现的目标)。 我有一个媒体查询,使标题 Logo 显示在导航链接上方。 但是好像不行。 我确
我是一名优秀的程序员,十分优秀!