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日')

#事業者
ziname = str(worksheet.acell('Y'+ str(num)).value)
ziarea = str(worksheet.acell('Z'+ str(num)).value)

zistart = str(worksheet.acell('AA'+ str(num)).value)
zistop = str(worksheet.acell('AB'+ str(num)).value)
zinenkin = str(worksheet.acell('AG'+ 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/02-2.pdf' # 既存のテンプレートPDF
output_file = './k02-2.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)

font_size = 9
cv.setFont(font_type, font_size)
cv.drawString(10*mm,203*mm, ziname)

#############　現在住所　段あり　################
font_size = 8
cv.setFont(font_type, font_size)
cn = len(ziarea)
if cn < 20:
	font_size = 10
	cv.setFont(font_type, font_size)
	cv.drawString(55*mm,195*mm,ziarea)
else:
	font_size = 10
	cv.setFont(font_type, font_size)
	ar1 = str(ziarea[0:11])
	ar2 = str(ziarea[12:24])
	ar3 = str(ziarea[25:80])
	cv.drawString(53*mm,195*mm, ar1)
	cv.drawString(53*mm,200*mm, ar2)
	cv.drawString(53*mm,205*mm, ar3)

###########ここまで↑住所　段あり↑###########

font_size = 8
cv.setFont(font_type, font_size)
cv.drawString(106*mm,201*mm, zistart)
cv.drawString(106*mm,210*mm, zistop)
cv.drawString(138*mm,203*mm, zinenkin)

# 一時ファイルに保存 --- (*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)
