问题标签 [printer-control-language]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1505 浏览

c# - C# RAW 打印

我有一个要求,我需要能够将图像发送到打印机。我遇到的问题是目标打印机(和类型)在打印时不一定知道,我们可能会发送到 zebra/intermec 标签打印机或标准的 HP 办公室喷气式飞机。

另一个复杂因素是我们要管理数百台打印机。我不想安装数百台或打印机,并且每次我们将一台新打印机添加到网络时都必须手动安装一台新打印机。我们维护一个 IP 地址和端口列表。我一直在考虑为每种打印机类型安装默认打印机(zebra、intermec、officejet)。

打印时(使用 PrintDocument),我可以将打印件发送到该类型的默认打印机,但将输出标记为“PrintToFile”。我相信这会给我原始打印数据(PCL?)。

我的想法是我应该能够简单地将原始数据发送到打印机?不幸的是,这似乎不起作用,原始文本只是被打印出来。

有人可以提供一些建议/帮助吗?

提前致谢。

0 投票
2 回答
1648 浏览

windows - Ghostscript将pdf转换为方向错误的pcl

我在尝试使用 Ghostscript 将 pdf 文档转换为 pcl 文档时遇到问题。

原始 pdf 文档是横向的,因此 pcl 也应该是横向的。尽管如此,在使用具有以下命令功能的 Ghostscript 9.14 的 Windows 中:

Ubuntu Linux 内核版本 3.2.0-40-generic 64 位(但使用 Ghostscript 9.05)中的相同命令会导致大小为 A3 而不是 A4 的错误定向 pcl 文件作为原始文件。

原始的 pdf 文件包含 windows 字体“arial”,它也应该在 linux 中可用。软件包“msttorcefonts”安装在 linux 上。这是 Ghostscript 字体图的简短摘录:

给出:

以下清单显示了 linux 命令行的输出,它与 windows Ghostscript 控制台的输出相同!

我已经尝试了几个 Ghostscript 的选项,比如

和别的。

将 pdf 文档转换为 ps 时,两种环境的结果相同。

有没有人有这个问题或想法的经验?

预先感谢和亲切的问候

0 投票
2 回答
1753 浏览

android - 向蓝牙打印机发送 PCL 命令

我制作了 android 应用程序,它将 PCL 命令发送到 BT 打印机(HP Officejet 100)。问题是当我发送字符串数据(PCL 命令)时,打印机无法识别这些命令并像普通字符串一样打印所有这些命令。知道为什么打印机无法识别命令吗?我的完整代码在这里:代码

我也尝试将字符集更改为 US-ASCII、UTF-8,但 PCL 命令未被识别。

第二个问题:有什么方法可以将 PDF 文件转换为 PCL,或者当我需要在这台打印机上打印 PDF 文件时如何做?

现在我可以打印字符串,但我不能打印 pdf 或图像等,我想办法做到这一点。感谢您的帮助。

部分代码:

0 投票
0 回答
521 浏览

c# - 添加到 PCL 文件的 PJL 命令在输出到打印机时会破坏条形码。可能的编码问题

我正在使用 Redmon Port Redirector 将 PCL 流保存到文件。

然后,我使用 C# 将一些 PJL 命令添加到文件中并将其保存回磁盘。

然后使用 LPR 将文档发送到打印机。

发生的情况是所有文本都打印得很好,但文件中的任何条形码都被弄乱了,我会说是揉在一起。如果我不添加任何 PJL 命令,则条形码会按预期打印。

这是之前之后的文件

我的猜测是编码存在一些问题,但我不确定从这里去哪里。

0 投票
1 回答
860 浏览

pdf - 在 PCL 到 PDF 转换中使用 GhostPCL 对 winansi 中的字体进行编码

我正在尝试使用编码为winansi而不是custom.

源文件是 PCL,我使用设备ghostpcl将其转换为 PDF pdfwrite

PDF 创建成功。但是,字体编码(用 选中时pdffonts)是'custom',但我希望它是'winansi'。我怎样才能做到这一点?

0 投票
1 回答
1264 浏览

c# - Why would the Zebra QLn220's media.sense_mode var not be set to gap with this code?

I need to set a couple of vars on the Zebra QLn220 belt printer to get it work as we need it to with our app. The first command below (keepPrinterOn) now works:

Attempting to change the "media.sense_mode" var from bar to gap, though, is failing. Even when radbtnGap is checked, and that (last shown) conditional block of code is entered, the value of the "media.sense_mode" var is not switching from "bar" to "gap" (as seen both empirically, in attempting to print gap (plain) labels, which doesn't work (spews out gazillions of labels after printing one) and by running this command:

...in the Zebra Setup Utilities (it returns "bar" even after selecting "gap").

I was previously having problems with these commands because I had neglected to append the crlfs (\r\n) to the commands, as was discussed here [Why would a Zebra QLn220 Printer ignore the first couple of commands sent to it after sending it a command to update some settings?, but now the labels are printed right away after sending the commands above (provided "bar" is selected, and bar (black strip on the back) labels are loaded in the belt printer.

Can anybody make heads or tails (bars or gaps) out of what could be amiss here?

UPDATE

I'm wondering if a low battery can cause commands sent to the printer to not "take." I got a "battery failed" message on the QLn220 (re-charging now). Once I'm able to do so, I'll test it to see if my existing code works (with a charged-up battery). If not, I'll try banno's alternate command in his answer below.

UPDATE 2

So I now have this code (the second two) ready to try, if necessary (the printer is currently dead, and can't even test it):

Is the second pair preferable to the first, or are they simply synonymous / something to try when the other doesn't work?

0 投票
3 回答
3300 浏览

c# - 我需要设置哪些 Zebra QLn220 设置(以及设置什么值[s])才能使设置“坚持”?

我正在尝试以编程方式配置 Zebra QLn220 打印机,以将其“media.sense_mode”设置为“bar”或“gap”(取决于用户选择的内容)。

但是,这些命令工作的可靠性似乎非常低(有时有效,有时无效)。

为了测试各种可能的命令,我当然使用了 Zebra Setup Utilities,并将 PC 插入打印机。

我从 util 发送了这个命令:

有效; 我知道这一点,因为通过以下方式对其进行测试:

...向我展示了“差距”的预期/希望(在发送上述命令之前它一直是“栏”)。

但是尝试在代码中完成相同的事情适用于“bar”(几乎总是),但几乎不会适用于“gap”

这是代码:

如您所见,除了“bar”与“gap”之外,代码完全相同

附加的“\r\n”是否可能导致问题?似乎添加这些是必要的,或者使命令更可靠,但在这种沮丧的时候,我对任何事情都持开放态度。

我总是测试替代命令来完成同样的事情,看看它们是否更可靠,但其他两种替代方法都不起作用,即不是这个:

-也不是这个:

...在将这些命令发送到打印机后,通过 getvar 检查 val 继续显示“bar”(设置回“bar”后,发送这两个命令后,“media.sense_mode”的值仍为“bar”)。

是否可能需要设置某些其他打印机设置才能使打印机对发送的命令更加敏感?不仅以编程方式设置命令不可靠,而且即使通过 Zebra 设置实用程序,它有时会在命令发送和返回之前“沙漏”很长时间 - 有时它比 Johnny Quick 和 Flash 组合起来更快。

查看此命令的大量输出:

....以下是最有趣/最有可能的候选人。如果有的话,哪些需要更改,以及更改为什么值?

有人有线索吗?

更新

这是发送命令的代码:

有问题的 SerialPort 来自 OpenNETCF.IO.Ports.SerialPort

注意: SerialPort.Write() 返回 void。

命令:

在 Zebra Setup Utility 中返回“ V68.19.7Z ”。

那么这是否意味着我的固件是最新的(V68.19.7Z > v68.18.0Z),或者这是否意味着由于我的“应用程序”更新,我需要将固件升级V68.19.7Z?如果我确实需要更新固件,我该怎么做?是找到最新固件并将其下载到我的电脑上,然后在电脑和打印机通过 USB 连接时运行其安装应用程序,还是......?

更新 2

这里,搜索 QLn220,我看到 V68.18.0Z 是唯一可供下载的固件版本。因此,既然我的打印机上似乎有更新版本,我很困惑......为什么他们不提供似乎是更新版本(V68.19.7Z)的东西?

更新 3

如果我在上面引用的页面上单击“自解压存档”链接,我只会得到一个包含一些通用但无法操作(看起来如此)方向的页面。

如果我点击那里的下载链接,我会得到一个页面,上面写着“这个网页有一个重定向循环”

更新 4

添加一些调试字符串后它可以工作;在打印代码中:

...在设置代码中:

难道这个小小的“行动中断”在某种程度上是有益的吗?

更新 5

注意:没有“SerialPort.Flush”也许:

...正在完成同样的事情吗?

0 投票
3 回答
8569 浏览

php - tpcl(TEC 打印机命令语言) [ESC]PC 左对齐

我想使用 php 和 LPR 将标签发送到我的 tec 打印机。一切正常,除了某些部分的对齐。我的代码/标签原样:

所以[ESC]PC的手册是这样说的:

完整手册可在此处找到(第 50-56 页的内容): 手册

[ESC] PCaa; bbbb, cccc, d, e, ff (,ghh), ii, j (, Jkkll) (, Mm) (, nooooooooooo)(, Zpp) (, Pq)(=rrr------rrr) [LF ] [无]

...跳过第一部分...

J:人物归属

...再次跳过...

Pq:对齐

完整手册可在此处找到(第 50-56 页的内容): 手册

现在,在所有这些文本之后。我怎样才能使文本正确对齐?

作为一个额外的问题;)

我如何使用€(欧元)符号。

手册上说要使用 B0H .. 我试过了,但还没有解决方案。

提前致谢!

0 投票
0 回答
112 浏览

azure - 将 PCL 中的 Azure Blob 存储与 Windows Phone Silverlight 8.0 结合使用

由于 xamarin,我目前正在编写一个针对多个平台的应用程序。PCL 中的应用程序逻辑,我使用 WPF 应用程序作为前端来测试 PCL。我需要使用驻留在 PCL 中的以下代码连接到我的 BLOB 存储帐户,该帐户可以在 WPF 应用程序中完美运行:

但是,当从 WP8 应用程序使用时,会出现以下错误:

客户 | 连接到存储尝试 21 Microsoft.WindowsAzure.Storage.DLL 中出现“System.IO.FileNotFoundException”类型的第一次机会异常无法加载文件或程序集“系统,版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089”或其依赖项之一。该系统找不到指定的文件。

在 Microsoft.WindowsAzure.Storage.CloudStorageAccount.ParseImpl(String connectionString, CloudStorageAccount& accountInformation, Action`1 错误) 在 Microsoft.WindowsAzure.Storage.CloudStorageAccount.Parse(String connectionString) 在 APXClient.PCL.AirproxClient.ConnectBlobStorage()

帮助将不胜感激!

0 投票
2 回答
324 浏览

utf-8 - pcl6.exe v9.15 静默转换 APOSTROPHE => 右单引号

下午好。

我在 Windows 8.1 上运行 pcl6.exe 版本 9.15。

我遇到了一个问题,其中 pcl6.exe 使用 PCL5 文件中的 16602 字体将任何撇号字符静默转换右单引号字符

这是我正在使用的命令行:

test.prn 输入(十六进制)

test.prn 输入(文本 ['.' 是转义字符])

test.txt 输出(十六进制)

test.txt 输出(文本)

预期的 test.txt 输出(十六进制)

预期的 test.txt 输出(文本)

是否有可以禁用此转换的标志或选项?

感谢您的时间。