word&img转pdf

因签章平台需要,将word文档和图片文件转成pdf保存。

代码如下:

  • 需要导入的mavenjar包
  •  工具类

以上就是word和图片转pdf的全部代码了。需要完整代码的同学可通过我的gitee仓库word-img2pdf中获取,同时欢迎大家添加我的微信骚扰哦!拜拜!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Python的三方库PyQt和pdfminer来实现带图形界面的图片类型的PDFWord。具体步骤如下: 1. 安装PyQt和pdfminer库 ```python pip install PyQt5 pip install pdfminer ``` 2. 构建图形界面 可以使用Qt Designer来构建简单的图形界面,然后将其换成Python代码。这里给出一个简单的示例代码: ```python from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QFileDialog, QLabel from PyQt5.QtGui import QPixmap import sys class App(QWidget): def __init__(self): super().__init__() self.title = 'PDFWord' self.left = 100 self.top = 100 self.width = 640 self.height = 480 self.initUI() def initUI(self): self.setWindowTitle(self.title) self.setGeometry(self.left, self.top, self.width, self.height) self.button = QPushButton('选择PDF文件', self) self.button.move(50, 50) self.button.clicked.connect(self.openFileDialog) self.label = QLabel(self) self.label.move(50, 100) self.label.resize(200, 200) self.show() def openFileDialog(self): fileName, _ = QFileDialog.getOpenFileName(self, "选择PDF文件", "", "PDF Files (*.pdf)") if fileName: self.convertPDFtoWord(fileName) def convertPDFtoWord(self, fileName): # TODO: 实现PDFWord的功能 pixmap = QPixmap('example.png') self.label.setPixmap(pixmap) if __name__ == '__main__': app = QApplication(sys.argv) ex = App() sys.exit(app.exec_()) ``` 3. 实现PDFWord的功能 使用pdfminer库来解析PDF文件,找到其中的图片,并将其换成Word中的图片格式。具体代码如下: ```python from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import TextConverter, PDFPageAggregator from pdfminer.layout import LAParams, LTTextBoxHorizontal, LTTextBoxVertical, LTTextLine, LTImage, LTFigure from pdfminer.pdfpage import PDFPage from io import StringIO import os from PIL import Image def convertPDFtoWord(pdfFileName): pdf = open(pdfFileName, 'rb') rsrcmgr = PDFResourceManager() laparams = LAParams() device = PDFPageAggregator(rsrcmgr, laparams=laparams) interpreter = PDFPageInterpreter(rsrcmgr, device) # 循环遍历每一页 for page in PDFPage.get_pages(pdf): interpreter.process_page(page) layout = device.get_result() # 循环遍历每一个layout对象 for lt_obj in layout: if isinstance(lt_obj, LTImage): # 如果是图片,将其换为Word中的图片格式 x, y, w, h = lt_obj.bbox img = Image.open(StringIO(lt_obj.stream.get_rawdata())) img.save('example.png') pdf.close() ``` 将上述代码添加到App类中,完整代码如下: ```python from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QFileDialog, QLabel from PyQt5.QtGui import QPixmap from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import TextConverter, PDFPageAggregator from pdfminer.layout import LAParams, LTTextBoxHorizontal, LTTextBoxVertical, LTTextLine, LTImage, LTFigure from pdfminer.pdfpage import PDFPage from io import StringIO import os from PIL import Image import sys class App(QWidget): def __init__(self): super().__init__() self.title = 'PDFWord' self.left = 100 self.top = 100 self.width = 640 self.height = 480 self.initUI() def initUI(self): self.setWindowTitle(self.title) self.setGeometry(self.left, self.top, self.width, self.height) self.button = QPushButton('选择PDF文件', self) self.button.move(50, 50) self.button.clicked.connect(self.openFileDialog) self.label = QLabel(self) self.label.move(50, 100) self.label.resize(200, 200) self.show() def openFileDialog(self): fileName, _ = QFileDialog.getOpenFileName(self, "选择PDF文件", "", "PDF Files (*.pdf)") if fileName: self.convertPDFtoWord(fileName) def convertPDFtoWord(self, pdfFileName): pdf = open(pdfFileName, 'rb') rsrcmgr = PDFResourceManager() laparams = LAParams() device = PDFPageAggregator(rsrcmgr, laparams=laparams) interpreter = PDFPageInterpreter(rsrcmgr, device) # 循环遍历每一页 for page in PDFPage.get_pages(pdf): interpreter.process_page(page) layout = device.get_result() # 循环遍历每一个layout对象 for lt_obj in layout: if isinstance(lt_obj, LTImage): # 如果是图片,将其换为Word中的图片格式 x, y, w, h = lt_obj.bbox img = Image.open(StringIO(lt_obj.stream.get_rawdata())) img.save('example.png') pixmap = QPixmap('example.png') self.label.setPixmap(pixmap) pdf.close() if __name__ == '__main__': app = QApplication(sys.argv) ex = App() sys.exit(app.exec_()) ``` 注意:这里只是对图片进行了换,并没有将PDF文件换成Word文件。如果需要将PDF文件换成Word文件,可以使用docxpy库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值