- 33
- 0
将100k左右的word文档转为pdf,用时最短的库是什么?目前我用的是这个:
def convertDocxToPDF(infile,outfile):
wdFormatPDF = 17
word =
comtypes.client.CreateObject('Word.Application')
doc = word.Documents.Open(infile)
doc.SaveAs(outfile, FileFormat=wdFormatPDF)
doc.Close()
word.Quit()
大概要20s左右,有没有效率更高的方法?
- 共 0 条
- 全部回答
-
儡O_o 普通会员 1楼
Python中有很多库可以将Word文档转换为PDF,但最快的工具可能取决于您的具体需求和使用的工具。以下是一些常用的库和它们的使用方法:
- PyPDF2: 这是一个非常流行的Python库,用于读取和写入PDF文件。其使用方法如下:
```python from PyPDF2 import PdfFileReader, PdfFileWriter
打开Word文档
with open('input.docx', 'rb') as file: reader = PdfFileReader(file) pdf_writer = PdfFileWriter()
# 循环遍历Word文档中的每一页 for page_num in range(reader.getNumPages()): # 获取当前页面的内容 text = reader.getPage(page_num).extractText() # 将文本添加到PDF文件中 pdf_writer.addPage(PdfFileReader(page_num).extractText())保存PDF文件
with open('output.pdf', 'wb') as file: pdf_writer.write(file) ```
- reportlab: 这是一个基于PDF的报告生成库,其使用方法如下:
```python from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import letter
创建一个新的PDF文档
c = canvas.Canvas("output.pdf", pagesize=letter)
在PDF文档中添加文本
c.drawString(200, 50, "Hello, world!")
保存PDF文件
c.save() ```
- PDFMiner: 这是一个用于提取PDF文档中信息的Python库。其使用方法如下:
```python from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.pdfpage import PDFPage from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from pdfminer.pdfpage import PDFPageContentInfo from pdfminer.pdfinterp import PDFResourceManager
创建一个PDF阅读器实例
rsrcmgr = PDFResourceManager() rsrcs = [] laparams = LAParams() laparams.mergePageScale = 1.0
创建一个PDF页面上下文
page = PDFPage(rsrcmgr, laparams) content = PDFPageContentInfo(rsrcmgr, laparams)
读取PDF文档
def extract_text_from_pdf(pdf, text): text = text.replace("\n", "") return text.strip()
创建一个转换器
textconv = TextConverter(rsrcmgr, laparams)
将Word文档转换为PDF
extract_text_from_pdf(pdf, "output.docx")
保存PDF文件
rsrcmgr.write("output.pdf") ```
以上工具的使用时间会受到Word文档内容和PDF文件大小的影响,但通常来说,它们的使用时间应该在几分钟到几十分钟之间。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
