我实际上可以使用 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/