如何在Python中使用Java打印docx和pdf?

我实际上可以使用txt文件打印到打印机,然而,当我更改为docx或pdf时,我得到了许多根本无法理解的未定义字符。你们有没有什么办法来解决这个问题。
我用的代码。

选择 | 换行 | 行号
  1. import system
  2. import javax.print
  3. import java.io
  4. from java.lang import Thread
  5.  
  6. filestream = java.io.BufferedInputStream(java.io.FileInputStream("C:/GEEKS.txt"))
  7.  
  8. psInformat = javax.print.DocFlavor.INPUT_STREAM.AUTOSENSE
  9.  
  10. myDoc = javax.print.SimpleDoc(filestream,psInformat,None)
  11.  
  12. aset = javax.print.attribute.HashPrintRequestAttributeSet()
  13. aset.add(javax.print.attribute.standard.Copies(2))
  14.  
  15. services = javax.print.PrintServiceLookup.lookupDefaultPrintService()
  16.  
  17. job = services.createPrintJob()
  18.  
  19. job.print(myDoc, None)
  20.  
  21. Thread.sleep(20000)
  22.  
  23. filestream.close()
# 回答1


为什么要在Python中使用Java?这是一项要求吗?看起来您正在打开一个文件,获取一个散列,查找一个属性并打印它。我可以想象在不使用javax的情况下通过Python实现这一点,但这取决于您对实现的决定。
无论如何,由于.docx是微软专有的格式,你需要知道它是如何格式化的,并导入一个能够阅读它并克服微软放在那里的所有麻烦的库。
从我的谷歌搜索来看,docx似乎是一个压缩的OpenXML文档,所以如果你用Python做这件事,你可以导入zipfile并使用它。还有一些定制的库也可以阅读docx文档。

标签: python

添加新评论