ryotankの備考録日記

趣味の電子工作についての備考録などなど

基板作りチェックリストその31

記入ボタンが押された時にpdf上の
ヘッダーとフッターに文字列を書き込む

一部抜粋してソースコードを載せる

sub_window = sg.Window('基板名入力フォーム (1/2)', layout= sub_layout)

        while True:
            sub_event, sub_value = sub_window.read()

            if sub_event is None:
                break


            elif sub_event == '-Data_ENTER-':   #記入」ボタンを押したら
                #あらかじめ設定した文字列がPDFのヘッダーとフッター上に記載される
                file_name = '基板名pdf書き込みその2.pdf' #ファイル名を設定
                pdf = canvas.Canvas(file_name, pagesize=portrait(A4))  #pdfを生成、A4サイズ縦に設定
                pdf.saveState() #セーブ

                #pdfのファイル情報を作成する
                pdf.setTitle('基板名書き込みその2結果')  #タイトル情報

                #フォントやサイズを設定
                pdfmetrics.registerFont(UnicodeCIDFont('HeiseiKakuGo-W5'))
                pdf.setFont('HeiseiKakuGo-W5', 14)

                #文字を描画(左からの位置、下からの位置、入れたい文字列)
                #ヘッダー部分の文字を描画する
                pdf.drawString(2.2*cm, 26*cm, 
                '基板名pdf書き込みその2  基板名:__________  リスト作成年月日:  年  月   日') #ヘッダー部分文字

                #フッター部分の文字を描画する
                pdf.drawString(2*cm, 5.5*cm, 
                '分類名:___________基板  担当者確認年月日:  年  月   日') #フッター部分文字
                pdf.drawString(2*cm, 4.5*cm, 
                'ガーバーデータを外注時には作成日より日を空けて確認する事!!!') #フッター部分文字

                #保存
                pdf.restoreState()
                pdf.save() 
            
            sub_window.close()  #入力フォームを閉じる

このような感じのファイルが生成出来た

基板名pdf書き込みその2pdf生成結果

次回は、記入ボタンを押すと
PDF上のヘッダーとフッターに入力項目を書き込むという
処理が実行するコードを書く

上記の操作を実行する為には
1.まず入力項目の取得をさせる
2.取得した文字列をフッター、ヘッダー部分に書き込む
手順を踏まないと実現できないので
まずは、
フォームの入力項目の取得から挑戦する