如何打印docx和pdf?

时间:2014-06-26 00:45:44

标签: 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()

1 个答案:

答案 0 :(得分:0)

.docx文件比文本文件具有更多的格式和废话。使用记事本打开一个,你就会看到我正在谈论的内容。

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

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

example-extracttext.py 'Some word file.docx' 'new file.txt'