java - 通过套接字连接使用 PrintWriter 将 PDF 文件打印到打印机

标签 java android sockets

我必须使用具有特定 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/

相关文章:

java - Kafka - 在运行时更改拓扑属性

java - 参数未从 flex 发送到 java

java - Jersey 1.x 到 2.x : simple web. xml 更改,惨败

java - URL 的 Tomcat HTTP 500 错误

在 FreeBSD 中创建和发送原始 IP 数据包 - sendto() 错误无效参数

c# - 将套接字用于telnet时是否可以禁用ECHO?

android - 类似模式的 SQL 接口(interface)?

android - Android 19 中未显示通知

android - C++ 隐式参数 : this and the returned object, 的顺序哪个先出现?

sockets - 通过网络传输数据时,先将字符串转为字节,再将字节转为字符串,是不是更好,为什么?