LoginSignup
1
1

More than 1 year has passed since last update.

pythonで履歴書と職務経歴書pdf化を自動化してみた。

Posted at

転職活動中に応募書類をpdfで求められることが多くExcelやWordのファイルをいちいち最新の日付にしてpdfに変換という作業が面倒だったので自動化してみました

↓とりあえず必要なライブラリと日付情報たちを変数に入れていきます

import openpyxl
import os
import datetime
import win32com.client
import docx



#日付を取得
today = datetime.date.today()
year_jp = str(int(today.strftime('%Y')) - 2018)#令和用
year_ad = today.strftime('%Y')
month = str(int(today.strftime('%m')))
day = str(int(today.strftime('%d')))

↓ここからファイル操作です
履歴書がexcelで職務経歴書がWordなので微妙に処理が違います

#excel操作
rasume = "履歴書.xlsx"
wb = openpyxl.load_workbook(rasume)
sheet = wb['sheet1']
sheet['V9'].value = f' 令和  {year_jp}年  {month}月  {day}日現在'

#excel保存
wb.save(rasume)
wb.close

#word操作
word = docx.Document("職務経歴書before.docx")#編集前原本
para1 = word.paragraphs[0]
t = para1.text
t = t.replace("date",f'{year_ad}年 {month}月 {day}')#原本の日付部分を"date"にしている
para1.text = t
word.save("職務経歴書.docx")

続いてpdf化操作です
何故かexcelは絶対パスじゃないとファイルを読み込んでくれませんでした

#excel→pdf変換 win32com相対パス使用不可
os.remove("履歴書.pdf")#pdfファイルがあると何故かexcelが保存できないため泣く泣く一旦削除してからpdf化
excel = win32com.client.Dispatch("Excel.Application")#pdf変換用ライブラリ
excelFile = excel.Workbooks.Open("C:/Users/name/Documents/src/python/RasumeDateChange/履歴書.xlsx")
excelFile.Worksheets("sheet1").Activate()
excelFile.ActiveSheet.ExportAsFixedFormat(0,"C:/Users/name/Documents/src/python/RasumeDateChange/履歴書.pdf")
excelFile.Close()
excel.Quit()

#word→excel変換
wdFormatPDF = 17
readFile = os.path.abspath("職務経歴書.docx")
saveFile = os.path.abspath("職務経歴書.pdf")
word = win32com.client.Dispatch("Word.Application")#pdf変換用ライブラリ
wordFile = word.Documents.Open(readFile)
wordFile.SaveAs(saveFile,FileFormat=wdFormatPDF)
wordFile.Close()
word.Quit()

このプログラムをタスクスケジューラで定期起動させ常に最新の日付のpdfファイルが保存されるようにしました

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1