from dattai2021 import worksheet
from dattai2021 import num
from dattai2021 import font_type

################# データ格納 ######################

#b_value = int(worksheet.acell('D2').value)整数の場合
#日付
import datetime
dt_now = datetime.datetime.now()
b_value = dt_now.strftime('%Y年%m月%d日')

#名前EF
myo = str(worksheet.acell('E'+ str(num)).value)
namae =str(worksheet.acell('F'+ str(num)).value)
#基礎年金番号
kisow = str(worksheet.acell('W'+ str(num)).value)
kisox =str(worksheet.acell('X'+ str(num)).value)

#誕生日K
tanzyo = str(worksheet.acell('K'+ str(num)).value)
fm = str(worksheet.acell('H'+ str(num)).value)
country = str(worksheet.acell('L'+ str(num)).value)
area = str(worksheet.acell('M'+ str(num)).value)
postn = str(worksheet.acell('O'+ str(num)).value)
jparea = str(worksheet.acell('N'+ str(num)).value)
phone = str(worksheet.acell('J'+ str(num)).value)



############################PDF書き込み#############################
from PyPDF2 import PdfFileWriter, PdfFileReader
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4, portrait
from reportlab.lib.units import inch, mm, cm
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont

# 源真ゴシック（ http://jikasei.me/font/genshin/）
GEN_SHIN_GOTHIC_MEDIUM_TTF = "./fonts/GenShinGothic-Monospace-Medium.ttf"

# ファイルの指定
template_file = './pdf/01.pdf' # 既存のテンプレートPDF
output_file = './k01-1.pdf' # 完成したPDFの保存先
tmp_file = './__tmp.pdf' # 一時ファイル

# A4縦のCanvasを作成 -- (*1)bottomupにて原点左上
w, h = portrait(A4)
cv = canvas.Canvas(tmp_file, pagesize=(w, h), bottomup=False)
# フォント登録
pdfmetrics.registerFont(TTFont(font_type, GEN_SHIN_GOTHIC_MEDIUM_TTF))
font_size = 20
cv.setFont(font_type, font_size)

#####################書き込みエリア######################33

# 文字列を描画する --- (*3)
cv.setFillColorRGB(0, 0, 99)

cv.drawString(145*mm,28*mm, b_value)
font_size = 17
cv.setFont(font_type, font_size)
cv.drawString(15*mm,134*mm, namae+" "+myo)

# 基礎年金番号
font_size = 29
cv.setFont(font_type, font_size)
cv.drawString(57*mm,211*mm,kisow+"-"+kisox)

cv.drawString(57*mm,223*mm, namae+" "+myo)
cv.drawString(57*mm,234*mm, tanzyo)
cv.drawString(170*mm,234*mm,fm)
cv.drawString(170*mm,247*mm, country)

#############　現在住所　段あり　################
font_size = 10
cv.setFont(font_type, font_size)
cn = len(area)
if cn < 50:
	font_size = 11
	cv.setFont(font_type, font_size)
	cv.drawString(57*mm,247*mm,area)
else:
	ar1 = str(area[0:99])
	ar2 = str(area[100:199])
	cv.drawString(57*mm,244*mm, ar1)
	cv.drawString(57*mm,248*mm, ar2)

###########ここまで↑住所　段あり↑###########

#############　離日前住所　段あり　################
font_size = 10
cv.setFont(font_type, font_size)
cn = len(jparea)
if cn < 50:
	font_size = 11
	cv.setFont(font_type, font_size)
	cv.drawString(57*mm,253*mm,"〒"+ postn)
	cv.drawString(57*mm,257*mm,jparea)
else:
	jar1 = str(jparea[0:99])
	jar2 = str(jparea[100:199])
	cv.drawString(57*mm,253*mm,"〒"+ postn)
	cv.drawString(57*mm,257*mm, jar1)
	cv.drawString(57*mm,261*mm, jar2)

###########ここまで↑住所　段あり↑###########

font_size = 25
cv.setFont(font_type, font_size)
cv.drawString(81*mm,273*mm, phone)

cv.drawString(57*mm,285*mm, namae+" "+myo)

# 一時ファイルに保存 --- (*4)
cv.showPage()
cv.save()

# テンプレートとなるPDFを読む --- (*5)
template_pdf = PdfFileReader(template_file)
template_page = template_pdf.getPage(0)

# 一時ファイルを読んで合成する --- (*6)
tmp_pdf = PdfFileReader(tmp_file)
template_page.mergePage(tmp_pdf.getPage(0))

# 書き込み先PDFを用意 --- (*7)
output = PdfFileWriter()
output.addPage(template_page)
with open(output_file, "wb") as fp:
  output.write(fp)
