Beispiel #1
0
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)
Beispiel #2
0
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文件合并完成!")
Beispiel #3
0
def Button_13_onCommand(uiName, widgetName):
    msg = Fun.GetText(uiName, "Entry_10")
    service = CClientSocketManger.getService()
    if (service == None):
        Fun.MessageBox("连接已经关闭,不能发送消息!")
    else:
        service.sendMessage(msg)
Beispiel #4
0
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文件!")
Beispiel #5
0
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)
Beispiel #6
0
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")
Beispiel #7
0
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)
Beispiel #8
0
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!")
    '''
Beispiel #9
0
def Button_10_onCommand(uiName, widgetName):
    item = GridBase.deleteSelected(uiName, 'TreeView_12')
    if (item == None):
        Fun.MessageBox("请先选择数据,在进行修改!")
        return
    DbBase.deleteAccount(item[2])