Java 你能直接将pdf打印到zebra打印机上吗

Java 你能直接将pdf打印到zebra打印机上吗,java,pdf,adobe,zebra-printers,Java,Pdf,Adobe,Zebra Printers,是否可以通过Java中的zebra打印机直接打印存储的pdf?我找不到任何关于它们与直接打印兼容的提及,我也无法将其打印出来。我需要通过zpl直接沟通吗 zebra打印机在通过Acrobat Reader打印时工作正常,Adobe Reader是否将PDF转换为zpl zebra打印机在通过Acrobat Reader打印时工作正常,Adobe Reader是否将PDF转换为zpl 不可以。Adobe Reader准备了一份系统打印服务可以使用的文档。然后打印服务调用Zebra驱动程序,这些驱动

是否可以通过Java中的zebra打印机直接打印存储的pdf?我找不到任何关于它们与直接打印兼容的提及,我也无法将其打印出来。我需要通过zpl直接沟通吗

zebra打印机在通过Acrobat Reader打印时工作正常,Adobe Reader是否将PDF转换为zpl

zebra打印机在通过Acrobat Reader打印时工作正常,Adobe Reader是否将PDF转换为zpl

不可以。Adobe Reader准备了一份系统打印服务可以使用的文档。然后打印服务调用Zebra驱动程序,这些驱动程序将文档转换为打印机的本地语言。这就是所有打印驱动程序在所有平台上的工作方式,而不仅仅是在Windows上。CUPS在Linux和MacOS上做同样的事情


不要花时间构建PDF=>image=>ZPL转换器。您最好将时间花在让应用程序与OS本机打印服务对话上。我不使用Java,但在我选择的搜索引擎上花一点时间表明Java似乎支持这种打印方式。

一种更好但不太可重用的方式是使用ZPL或EPL(无论您的zebra打印机支持什么)

顺便说一下,ZPL是Zebra专有的Zebra编程语言。您可以直接将ZPL字符串写入串行或并行端口,而无需安装任何Zebra驱动程序(而是使用Windows通用文本打印机驱动程序)。例如,您可以将以下字符串直接发送到打印机端口(串行、并行或网络)


希望能有帮助

您可以使用android和iOS版的Mobi打印实用程序将PDF打印到Zebra打印机上。它可以打印蓝牙或wifi。

如果您有带链接操作系统的打印机,您可以直接从Zebra购买并在打印机固件上安装PDF。然后,您可以将pdf直接发送到打印机。我们通过连接端口9100并发送PDF来实现这一点

  • 在ios上下载Zebra安装打印机:

  • 然后转到设备语言,并选择PDF

  • 然后是一个简单的post请求,如:

    const pdfData = {
          uri: localUrl, // <- your file
          type: 'application/pdf',
          name: 'file_name',
      }
    
      const data = new FormData()
      data.append('pdf', pdfData)
    
      fetch(printerUrl, { // <- "http://${IP}:9100/pstprnt/"
          method: 'POST',
          headers: {
              'Content-Type': 'multipart/form-data',
          },
          body: pdfData,
      })
    
    const pdfData={
    
    uri:localUrl,//nope。使用驱动程序从Acrobat打印pdf时,会将pdf光栅化为zpl并以这种方式打印。如果可以将pdf转换为图像,然后将图像转换并存储在打印机上(zebra有一个SDK用于抖动并转换为每像素1位BW图像),您可以通过使用一些zpl@OviTisler在Android设备上也能这样吗?也就是说,你能从Android设备上打印PDF或图像到Zebra打印机上吗?是的,如果你使用Zebra Android SDKIf,如果你直接用打印机的母语“说话”,那么你就是在将你的应用程序耦合到一个适当的打印机上ry语言,是吗?难道没有更干净的方法让标签的生成不受打印机的影响吗?我正在考虑图像或PDF,甚至更具声明性的语言。如果我没有抓住要点,很抱歉,但在我看来,这个问题在数年前就在台式打印机上得到了解决,但我仍然不明白为什么我必须深入研究这些C语言PCL或ZPL语言,如果我可以避免的话。ZPL、CPCL和EPL是相对较小的、用于创建标签的目标语言,而且许多打印机与它们兼容,可以直接使用,也可以通过驱动程序使用。如果它们满足您的需要,那么就不需要经过更复杂的过程。例如,我的雇主需要的东西ific truetype字体和其他在ZPL中很困难的东西,这就是为什么我们构建图像或PDF,并让打印服务负责翻译。这都是关于正确工作的正确工具。我理解。假设您知道打印机分辨率(dpi),您是否能够使用图像渲染清晰的标签?我担心渲染图像时可能会有损失。是的,我们匹配DPI和标签大小。例如,所有台式Zebra打印机都是203 DPI。只要图像保持纯黑白,清晰度从来都不是问题。任何灰度显示都会抖动,效果很差。非常感谢,@Charles。这非常有帮助。你能给我们分享这个应用程序的Android链接(Playstore链接)吗?大卫:这真的有效吗?@CarlosFranco是的,你试过了吗?
    const pdfData = {
          uri: localUrl, // <- your file
          type: 'application/pdf',
          name: 'file_name',
      }
    
      const data = new FormData()
      data.append('pdf', pdfData)
    
      fetch(printerUrl, { // <- "http://${IP}:9100/pstprnt/"
          method: 'POST',
          headers: {
              'Content-Type': 'multipart/form-data',
          },
          body: pdfData,
      })