Java 如何将PDF文件转换为PRN文件?

Java 如何将PDF文件转换为PRN文件?,java,pdf,printing,Java,Pdf,Printing,我有一个创建PDF文件的JAVA程序。 但是,我需要通过SDK将此PDF文件发送到打印机,该打印机只接受PRN文件类型 我知道PRN文件是通过使用特定打印机的特定驱动程序构建的,因此java程序应该能够选择要使用的驱动程序,以便将PDF转换为PRN文件 至于这个问题,为什么我不直接通过驱动程序发送PDF文件进行打印呢,这是一台斑马打印机,可以打印和编码智能卡,只有从SDK接近它时,才能执行打印和编码,如果我直接发送给驱动程序,它只打印而不编码卡片PDF需要呈现并设置为打印机所需的格式 Ghost

我有一个创建PDF文件的JAVA程序。 但是,我需要通过SDK将此PDF文件发送到打印机,该打印机只接受PRN文件类型

我知道PRN文件是通过使用特定打印机的特定驱动程序构建的,因此java程序应该能够选择要使用的驱动程序,以便将PDF转换为PRN文件


至于这个问题,为什么我不直接通过驱动程序发送PDF文件进行打印呢,这是一台斑马打印机,可以打印和编码智能卡,只有从SDK接近它时,才能执行打印和编码,如果我直接发送给驱动程序,它只打印而不编码卡片

PDF需要呈现并设置为打印机所需的格式

GhostScript就是您想要的,该命令是:

gswin32c -dNOPAUSE -sDEVICE=PrinterName -sOutputFile="c:/out.prn" "file.pdf"

据我所知,您的打印机制造商是Zebra,您正在寻找特定于供应商的问题解决方案。这是一个开源项目,支持许多供应商,据我所知,它能够从PRN文件打印。检查线程是否适用于您。

如果您运气好,并且尝试打开的文件包含纯文本,您可以尝试以下操作:

  • 将此文件的扩展名从prn更改为txt
  • 在记事本或任何其他文本编辑器中打开新文件

  • 您可能会看到您想要的内容以及一些稍后可以删除的标题。

    Zebra打印机使用zpl语言。您可以设计zpl模板并将其作为prn文件发送到打印机

    ^XA
    ^FX Top section with company logo, name and address.
    ^CF0,60
    ^FO50,50^GB100,100,100^FS
    ^FO75,75^FR^GB100,100,100^FS
    ^FO88,88^GB50,50,50^FS
    ^FO220,50^FDInternational Shipping, Inc.^FS
    ^CF0,40
    ^FO220,100^FD1000 Shipping Lane^FS
    ^FO220,135^FDShelbyville TN 38102^FS
    ^FO220,170^FDUnited States (USA)^FS
    ^FO50,250^GB700,1,3^FS
    ^XZ
    
    复制上面的文本并粘贴到记事本中。将其另存为abc.prn并发送到打印机

    您将看到,它将打印标签(我假设您使用的是4x6打印机)

    因此,您可以使用此网站创建自己的zpl模板。 这本指南呢