java - 如何打印docx和pdf?

标签 java python

我实际上可以使用 txt 文件到打印机进行打印,但是,当我更改为 docx 或 pdf 时,我得到许多根本无法理解的未定义字符。你们对如何解决这个问题有什么想法吗?

我使用的代码。

import system
import javax.print
import java.io
from java.lang import Thread

filestream = java.io.BufferedInputStream(java.io.FileInputStream("C:/GEEKS.txt"))

psInformat = javax.print.DocFlavor.INPUT_STREAM.AUTOSENSE

myDoc = javax.print.SimpleDoc(filestream,psInformat,None)

aset = javax.print.attribute.HashPrintRequestAttributeSet()
aset.add(javax.print.attribute.standard.Copies(2))

services = javax.print.PrintServiceLookup.lookupDefaultPrintService()

job = services.createPrintJob()

job.print(myDoc, None)

Thread.sleep(20000)

filestream.close()

最佳答案

.docx 文件比文本文件有更多的格式和无意义的内容。使用记事本打开一个,您就会明白我在说什么。

因此,您需要使用专用库来读取 docx 文件,例如 https://pypi.python.org/pypi/docx/0.2.4

这个库甚至提供了一种从 docx 文件中提取文本的好方法:

example-extracttext.py '一些单词文件.docx' '新文件.txt'

关于java - 如何打印docx和pdf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24420826/

相关文章:

python - 添加n个元素的numpy数组

java - 将位图绘制到 Canvas 上重叠

用于分割视频的python库

java - 在我重新启动手机之前,图像不会显示在照片应用程序中

java - 在服务器端创建具有自动完成功能的查询

python - Matplotlib PDF 导出使用了错误的字体

python - 在 python 记录器中将多个字段一起填充

python - 尝试从 python 中的 json 响应解析值

java - DateFormat 中的零填充小时

java - 在java中用filewriter保存文件时如何设置目录?