当前位置: 首页 > news >正文

东华建设官方网站学校网站建设交流汇报

东华建设官方网站,学校网站建设交流汇报,黄岛英文网站建设,知名门户网站PDF工具应用程序是一个使用wxPython和PyMuPDF库编写的简单工具#xff0c;用于合并和分拆PDF文件。它提供了一个用户友好的图形界面#xff0c;允许用户选择源文件夹和目标文件夹#xff0c;并对PDF文件进行操作。 C:\pythoncode\blog\pdfmergandsplit.py 功能特点 选择文…PDF工具应用程序是一个使用wxPython和PyMuPDF库编写的简单工具用于合并和分拆PDF文件。它提供了一个用户友好的图形界面允许用户选择源文件夹和目标文件夹并对PDF文件进行操作。 C:\pythoncode\blog\pdfmergandsplit.py 功能特点 选择文件夹用户可以通过应用程序界面轻松选择源文件夹和目标文件夹。合并PDF文件应用程序允许用户选择要合并的PDF文件并将它们合并成一个单独的PDF文件。分拆PDF文件用户可以选择一个PDF文件将其分拆成多个单独的PDF文件每个文件包含一个页面。 程序实现 该应用程序使用了以下库和模块 wxPython用于创建应用程序的图形用户界面。PyMuPDF用于处理PDF文件的库。 应用程序的主要部分是一个继承自wxPython的wx.Frame类的主窗口。窗口包含以下组件 选择源文件夹和目标文件夹的按钮。PDF文件列表框显示源文件夹中的PDF文件。合并和分拆按钮用于执行相应的操作。 当用户点击选择源文件夹按钮时应用程序显示一个文件夹选择对话框用户可以选择源文件夹。选择后应用程序获取文件夹路径并列出文件夹中的PDF文件。然后合并和分拆按钮变为可用状态用户可以执行相应的操作。 合并按钮的点击事件会弹出一个文本输入对话框要求用户输入合并后的文件名。用户输入后应用程序调用PyMuPDF库合并选定的PDF文件并将合并后的PDF文件保存到目标文件夹中。 分拆按钮的点击事件会遍历选定的PDF文件并使用PyMuPDF库将每个页面保存为单独的PDF文件。 代码示例 以下是应用程序的代码示例 import os import wx import fitzclass PDFToolApp(wx.Frame):def __init__(self, parent, title):super(PDFToolApp, self).__init__(parent, titletitle, size(400, 400))self.panel wx.Panel(self)self.source_folder_btn wx.Button(self.panel, -1, 选择源文件夹)self.target_folder_btn wx.Button(self.panel, -1, 选择目标文件夹)self.pdf_list wx.CheckListBox(self.panel, -1, choices[], stylewx.LB_MULTIPLE)self.merge_btn wx.Button(self.panel, -1, 合并)self.split_btn wx.Button(self.panel, -1, 分拆)self.merge_btn.Disable()self.split_btn.Disable()self.source_folder_btn.Bind(wx.EVT_BUTTON, self.on_select_source_folder)self.target_folder_btn.Bind(wx.EVT_BUTTON, self.on_select_target_folder)self.merge_btn.Bind(wx.EVT_BUTTON, self.on_merge)self.split_btn.Bind(wx.EVT_BUTTON, self.on_split)sizer wx.BoxSizer(wx.VERTICAL)sizer.Add(self.source_folder_btn, 0, wx.ALIGN_CENTER | wx.ALL, 10)sizer.Add(self.target_folder_btn, 0, wx.ALIGN_CENTER | wx.ALL, 10)sizer.Add(self.pdf_list, 1, wx.EXPAND | wx.ALL, 10)sizer.Add(self.merge_btn, 0, wx.ALIGN_CENTER | wx.ALL, 10)sizer.Add(self.split_btn, 0, wx.ALIGN_CENTER | wx.ALL, 10)self.panel.SetSizer(sizer)self.Show()def on_select_source_folder(self, event):dlg wx.DirDialog(self, 选择源文件夹, stylewx.DD_DEFAULT_STYLE)if dlg.ShowModal() wx.ID_OK:source_folder_path dlg.GetPath()self.pdf_list.Set(self.get_pdf_files(source_folder_path))self.merge_btn.Enable()self.split_btn.Enable()dlg.Destroy()def on_select_target_folder(self, event):dlg wx.DirDialog(self, 选择目标文件夹, stylewx.DD_DEFAULT_STYLE)if dlg.ShowModal() wx.ID_OK:self.target_folder_path dlg.GetPath()dlg.Destroy()def on_merge(self, event):selected_items self.pdf_list.GetCheckedItems()if len(selected_items) 0:dlg wx.TextEntryDialog(self, 请输入合并后的文件名不带扩展名, 合并文件)if dlg.ShowModal() wx.ID_OK:output_filename dlg.GetValue()output_filepath os.path.join(self.target_folder_path, output_filename .pdf)self.merge_pdfs(selected_items, output_filepath)wx.MessageBox(PDF文件合并完成, 完成, wx.OK | wx.ICON_INFORMATION)dlg.Destroy()def on_split(self, event):selected_items self.pdf_list.GetCheckedItems()if len(selected_items) 0:for index in selected_items:pdf_filename self.pdf_list.GetString(index)pdf_filepath os.path.join(self.target_folder_path, pdf_filename)self.split_pdf(pdf_filename, pdf_filepath)wx.MessageBox(PDF文件分拆完成, 完成, wx.OK | wx.ICON_INFORMATION)def merge_pdfs(self, selected_items, output_filepath):pdf_merger fitz.open()for index in selected_items:pdf_filename self.pdf_list.GetString(index)pdf_filepath os.path.join(self.target_folder_path, pdf_filename)pdf fitz.open(pdf_filepath)pdf_merger.insert_pdf(pdf)pdf_merger.save(output_filepath)pdf_merger.close()def split_pdf(self, pdf_filename, pdf_filepath):pdf fitz.open(pdf_filepath)num_pages pdf.page_countfor i in range(num_pages):output_filename f{pdf_filename[:-4]}_{i1}.pdfoutput_filepath os.path.join(self.target_folder_path, os.path.basename(output_filename) )print(output_filename:output_filename)page pdf[i]new_pdf fitz.open()new_pdf.insert_pdf(pdf, from_pagei, to_pagei)new_pdf.save(output_filepath)print(self.target_folder_path:self.target_folder_path)print(output_filepath:output_filepath)new_pdf.close()pdf.close()def get_pdf_files(self, folder_path):pdf_files []for filename in os.listdir(folder_path):if filename.endswith(.pdf):pdf_files.append(folder_path/filename)return pdf_filesif __name__ __main__:app wx.App()PDFToolApp(None, PDF工具)app.MainLoop()总结 PDF工具应用程序是一个使用wxPython和PyMuPDF库编写的简单实用工具可用于合并和分拆PDF文件。它提供了一个直观的图形界面使用户能够轻松选择文件夹和执行操作。无论是处理大量PDF文件还是简单的分拆操作该应用程序都能满足用户的需求。
http://www.pierceye.com/news/20492/

相关文章:

  • 音视频娱乐网站开发商个人简历模板免费可编辑
  • 温州网站排名优化如何建立分销网站
  • 嵩明县住房和城乡建设局网站空间安装wordpress
  • wordpress站长主题老域名做网站
  • 南宁网站制作公司哪家好dw网页设计免费模板
  • 万户网络做网站如何爱站网seo
  • dede 网站建设模板大理网上商城网站建设
  • 网站建设与规划总结怎么写建设部网站 合同格式
  • 刷会员网站怎么做做网站的心得体会
  • 企业网站 php 下载wordpress china第三性
  • 舟山建设银行纪念币预约网站淘宝上的网站建设能信吗
  • 怎么成立自己的网站邢台网站123
  • 做竞拍网站瑞郎网络
  • 有关网站建设新闻资讯手机html5网站模板
  • 有源码怎么做网站wordpress 搜索 多个词
  • 上海地区网站备案wordpress add_theme_page
  • 网站在百度搜不到wordpress时间相差8小时
  • 粉末涂料做网站有用吗国外服务器做网站
  • 南京网站建设南京国际新闻联播
  • 做钓鱼网站会被抓判刑吗电子商务网站建设和推广论文
  • 免费网络推广网站建站开始的前6个月多少外链最合适
  • 网站建设与管理广东药学院wordpress主题伪静态
  • 网站开发国内外现状铜川新区网站建设招标
  • 网站开发实验报告可行性分析扁平wordpress主题
  • 常州市钟楼建设局网站永久免费无代码开发平台网站
  • 那个网站攻略做的好贵阳学校网站建设
  • 全屋定制设计网站推荐洛可可
  • 淘宝网站建设策划案鞍山市建设工程安全生产监督管理站网站
  • 东营网签查询系统官方网站襄阳做网站公司电话
  • 粉色的网站企业网络组建工作流程