我必须使用具有特定 IP 地址的打印机打印 pdf 文件。我能够打印特定文本,但我想打印文件或 html 解析文本。
我的代码:
try {
Socket sock = new Socket("192.168.0.131", 9100);
PrintWriter oStream = new PrintWriter(sock.getOutputStream());
oStream.println("HI,test from Android Device");
oStream.println("\n\n\n");
oStream.close();
sock.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
许多人建议使用 PDL,但如何将 pdf 转换为 PDL?
最佳答案
发送到打印机的数据必须使用页面描述语言 (PDL),打印机可以理解的语言。 Here您可以找到对这些的一些基本了解。大多数打印机都可以理解 ASCII 字符串,这就是您能够打印该字符串的原因。但是当涉及复杂的文档格式(PDF、Excel、HTML 页面等)时,您必须将文档转换为其中一种 PDL。我使用过的最常见的 PDL 是 PostScript(PS) 和 PCL(打印机命令语言)。
现在,为了打印具有精确格式(您需要解决方案)的 PDF,您必须将 PDF 文档转换为 PCl 或 Postscript,然后将该 PCL 或 postscript 数据发送到打印机。 您可以使用 ghostscript将您的 PDF 转换为 PS 或 PCL。
我还没有完全按照您的意愿去做,但我认为我上面所解释的是您的开始。
我很想知道您是否能够做到。让我知道。
关于java - 通过套接字连接使用 PrintWriter 将 PDF 文件打印到打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39570782/