def Button_11_onCommand(uiName, widgetName): savePath = tkinter.filedialog.asksaveasfilename( initialdir=os.path.abspath('.'), title='Save Python File', filetypes=[('Python File', '*.py'), ('All files', '*')]) if (savePath == "" or len(savePath) <= 0): Fun.MessageBox("请输入合并后的文件名!") return listBox8 = Fun.GetElement(uiName, "ListBox_8") count = listBox8.size() if (count < 2): Fun.MessageBox("至少要选择两个文件进行合并!") return MergePDF(DirPath, openPath, listBox8)
def MergePDF(filepath, outfile, listBox): output = PdfFileWriter() outputPages = 0 #pdf_fileName = getFileName(filepath) #for pdf_file in pdf_fileName: count = listBox.size() for i in range(count): item = listBox.get(i) pdf_file = os.path.join(filepath, item) print("路径:%s" % pdf_file) # 读取源PDF文件 input = PdfFileReader(open(pdf_file, "rb")) # 获得源PDF文件中页面总数 pageCount = input.getNumPages() outputPages += pageCount print("页数:%d" % pageCount) Fun.SetTKAttrib("Project4", "Progress_3", "value", pageCount) # 分别将page添加到输出output中 for iPage in range(pageCount): output.addPage(input.getPage(iPage)) print("合并后的总页数:%d." % outputPages) # 写入到目标PDF文件 outputStream = open(os.path.join(filepath, outfile), "wb") output.write(outputStream) outputStream.close() Fun.MessageBox("PDF文件合并完成!该文件在打开的文件夹里!") print("PDF文件合并完成!")
def Button_13_onCommand(uiName, widgetName): msg = Fun.GetText(uiName, "Entry_10") service = CClientSocketManger.getService() if (service == None): Fun.MessageBox("连接已经关闭,不能发送消息!") else: service.sendMessage(msg)
def MergePDF(filepath, outfile): output = PdfFileWriter() outputPages = 0 pdf_fileName = getFileName(filepath) if pdf_fileName: for pdf_file in pdf_fileName: print("路径:%s"%pdf_file) # 读取源PDF文件 input = PdfFileReader(open(pdf_file, "rb")) # 获得源PDF文件中页面总数 pageCount = input.getNumPages() outputPages += pageCount print("页数:%d"%pageCount) Fun.SetTKAttrib("Project4", "Progress_3", "value",pageCount) # 分别将page添加到输出output中 for iPage in range(pageCount): output.addPage(input.getPage(iPage)) print("合并后的总页数:%d."%outputPages) # 写入到目标PDF文件 outputStream = open(os.path.join(filepath, outfile), "wb") output.write(outputStream) outputStream.close() Fun.MessageBox("PDF文件合并完成!合并后的文件名为 out.pdf") print("PDF文件合并完成!") else: print("没有可以合并的PDF文件!")
def Button_13_onCommand(uiName, widgetName): item = GridBase.getSelected(uiName, 'TreeView_12') if (item == None): Fun.MessageBox("请先选择数据,在进行修改!") return topLevel = tkinter.Toplevel() topLevel.attributes("-toolwindow", 1) topLevel.wm_attributes("-topmost", 1) import add add.add(topLevel) #设置修改页的值 Fun.SetText('add', 'Entry_5', item[0]) Fun.SetText('add', 'Entry_6', item[1]) Fun.SetText('add', 'Button_8', '修改') tkinter.Tk.wait_window(topLevel)
def Button_7_onCommand(uiName,widgetName): file1 = Fun.GetText(uiName, "Entry_4") file2 = Fun.GetText(uiName, "Entry_6") input1 = PdfFileReader(open(file1, "rb")) input2 = PdfFileReader(open(file2, "rb")) pageCount1 = input1.getNumPages() outPut1 = PdfFileWriter() dirName = os.path.dirname(file1) for iPage in range(input1.getNumPages()): outPut1.addPage(input1.getPage(iPage)) for iPage in range(input2.getNumPages()): outPut1.addPage(input2.getPage(iPage)) newFileName = os.path.join(dirName,"merge1.pdf") outputStream = open(newFileName, "wb") outPut1.write(outputStream) outputStream.close() Fun.MessageBox("merge finised,new file name is=merge1.pdf")
def Button_2_onCommand(uiName, widgetName): listBox = Fun.GetElement(uiName, "ListBox_3") listBox8 = Fun.GetElement(uiName, "ListBox_8") listBox.delete(0, "end") listBox8.delete(0, "end") filepath = tkinter.filedialog.askdirectory(initialdir=os.path.abspath('.'), title='打开目录查找') #Fun.SetText(uiName, "Entry_11", dirPath) global DirPath DirPath = filepath pdf_fileName = getFileName(filepath) if (not pdf_fileName): Fun.MessageBox("没有发现pdf文件!") return #listBox = Fun.GetElement(uiName,"ListBox_3") for item in pdf_fileName: file = item.replace(filepath, "").replace("\\", "") listBox.insert(tkinter.END, file)
def Button_12_onCommand(uiName, widgetName): openPath = tkinter.filedialog.askdirectory(initialdir=os.path.abspath('.'), title='打开目录查找') # 文件信息 try: filePath = Fun.GetText(uiName, "Entry_4") input = PdfFileReader(open(filePath, "rb")) except Exception as e: Fun.MessageBox("文件异常,请检查!") return pageCount = input.getNumPages() dirName = os.path.dirname(filePath) # 分隔方式 content = Fun.GetText(uiName, "Entry_8") if (len(content) <= 0): Fun.MessageBox("数据格式不对,请重新输入") return strList = content.split(",") #print(strList) # 检查参数是否正常 try: for i in strList: if (len(i) <= 0): Fun.MessageBox("数据格式不对,请重新输入") return pageNum = int(i) if (pageNum >= pageCount): Fun.MessageBox("要分割的页数不能超过总页数啊!") return except Exception as e: print(e) Fun.MessageBox("数据格式不对,请重新输入") return outPutDic = {} for iPage in range(pageCount): rang = getRange(strList, iPage) if (rang == "0"): rang = str(pageCount) if (outPutDic.get(rang, -1) == -1): outPutDic[rang] = { "fileName": rang + ".pdf", "outPut": PdfFileWriter() } outPutDic[rang]['outPut'].addPage(input.getPage(iPage)) else: if (outPutDic[rang] == None): outPutDic[rang] = { "fileName": rang + ".pdf", "outPut": PdfFileWriter() } outPutDic[rang]['outPut'].addPage(input.getPage(iPage)) else: outPutDic[rang]['outPut'].addPage(input.getPage(iPage)) for item in outPutDic.values(): newFileName = os.path.join(dirName, item['fileName']) outputStream = open(newFileName, "wb") item['outPut'].write(outputStream) outputStream.close() msg = item['fileName'] + " has been created!" showMsg(uiName, msg) showMsg(uiName, "split pdf file over!") '''
def Button_10_onCommand(uiName, widgetName): item = GridBase.deleteSelected(uiName, 'TreeView_12') if (item == None): Fun.MessageBox("请先选择数据,在进行修改!") return DbBase.deleteAccount(item[2])