PDF檔案自動重新命名
背景:從學術網站上下載的論文的PDF檔案一般都是以類似亂碼的形式命名,下載的論文量變大後逐個重新命名後是個繁重耗時的工作。但論文的PDF檔案其實屬性裡都有著自己的論文題目,可以利用這一點來完成對論文題目的重新命名。
程式碼
#-*- coding:utf-8 -*-
import os
import pyPdf
import wx
import sys
class Rename_Frame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self,None,-1,u'PDF File Rename',size=(400,350))
panel=wx.Panel(self,-1)
self.Text1=wx.StaticText(panel,label=u'Folder address ',pos=(13,80),size=(100,60))
self.TextCtrl1=wx.TextCtrl(panel,pos=(107,80),size=(250,25))
self.Button1=wx.Button(panel,-1,u'START',pos=(90,200),size=(100,50))
self.Bind(wx.EVT_BUTTON,self.begin_click,self.Button1)
self.Button2=wx.Button(panel,-1,u'CANCEL',pos=(205,200),size=(100,50))
self.Bind(wx.EVT_BUTTON,self.cancel_click,self.Button2)
def begin_click(self,event):
folder_address = self.TextCtrl1.GetValue()
for file_name in os.listdir(folder_address):
if file_name.lower()[-3:] == 'pdf':
target_pdf = file(file_name,'rb')
try:
pdf_title = pyPdf.PdfFileReader(target_pdf).getDocumentInfo().title+'.pdf'
except:
pdf_title = '0_'+file_name
target_pdf.close()
try:
os.rename(file_name,pdf_title)
except:
pass
self.Destroy()
sys.exit()
def cancel_click(self,event):
self.Destroy()
sys.exit()
def main():
app = wx.App()
win = Rename_Frame()
win.Show()
app.MainLoop()
if __name__ == '__main__':
main()
上面的程式碼寫了一個小型的帶有簡單GUI的程式,關鍵的部分在於:
folder_address = self.TextCtrl1.GetValue()
for file_name in os.listdir(folder_address):
if file_name.lower()[-3:] == 'pdf':
target_pdf = file(file_name,'rb')
try:
pdf_title = pyPdf.PdfFileReader(target_pdf).getDocumentInfo().title+'.pdf'
except:
pdf_title = '0_'+file_name
target_pdf.close()
try:
os.rename(file_name,pdf_title)
except:
pass
從文字輸入框獲得資料夾地址後,遍歷資料夾名下的所有檔案,凡是以'pdf'結尾的檔案都會被pyPdf模組的pyPdf.PdfFileReader().title來獲取PDF的title屬性,然後利用os.rename(old_name,new_name)函式進行重新命名。
但有些PDF檔案是帶有加密的,這使得PDF的屬性並不能用上述方法獲取,所以就用'0_'+file_name的方法重新命名原檔案將其置頂(否則在一大堆檔案裡找出沒有重新命名的檔案太麻煩了),然後再手動重新命名。
以上。
相關文章
- BatchOutput PDF ——批量自動列印PDF檔案BAT
- BatchOutput PDF for Mac(批量自動列印PDF檔案)BATMac
- 對pdf檔案批量重新命名,便於合併
- 快速修改檔名稱的方法,自動批量給檔案重新命名
- 辦公自動化:PDF檔案合併器,將多個PDF檔案進行合併
- NodeJS+formidable實現檔案上傳加自動重新命名NodeJSORM
- 日誌檔案的移動或重新命名
- 03-Java框架FTPClient 使用rename()移動檔案和檔案重新命名Java框架FTPclient
- C# 重新命名檔案C#
- 重新命名資料檔案
- 重新命名一千個檔案要多久? Name Mangler 快速為大量檔案重新命名
- IE瀏覽器不能自動顯示PDF檔案的解決辦法瀏覽器
- 12c pdb線上移動資料檔案或者重新命名資料檔案
- ORACLE 重新命名資料檔案Oracle
- linux 檔案批量重新命名Linux
- 批次檔案重新命名的方法
- 怎麼把pdf檔案縮小?如何使用PDF Expert壓縮pdf檔案大小?
- PDF檔案轉換為DWF檔案
- PDF檔案搜尋工具PDF Search for MacMac
- PDF Search for Mac(pdf檔案搜尋工具)Mac
- pdf檔案搜尋工具:PDF Search MacMac
- PDF檔案批次列印工具:BatchOutput PDF for MacBATMac
- 在Web應用中動態建立PDF檔案Web
- Win10如何批次重新命名檔案 Win10批次重新命名檔案教程詳解Win10
- PDF Squeezer - PDF Toolbox for Mac(PDF檔案工具箱)Mac
- win10 pdf檔案滑鼠不能拖動怎麼修復_win10 pdf檔案滑鼠不能拖動如何處理Win10
- DOS命令+Excel=批次檔案重新命名Excel
- windows10如何對多個檔案重新命名_windows10批量重新命名檔案的方法Windows
- windows10如何對多個檔案重新命名_windows10批次重新命名檔案的方法Windows
- 批量擷取pdf檔案
- PDF檔案轉HTML方法HTML
- 如何編輯PDF檔案
- 使用PdfRenderer解析PDF檔案
- 破解加密PDF檔案pdfcrack加密
- 關於PDF檔案解密解密
- PDF檔案使用指南
- java生成PDF檔案【Z】Java
- Pdf檔案編輯攻略