ryotankの備考録日記

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

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

PDFに変数を書き込むその3
内容として
基板名入力フォームAの項目を変数に格納しヘッダー部分に描画する
もし、基板名が何も入力されていない状態なら
通知で「名前が設定されていません」を表示する

一部抜粋して載せる

elif sub_event =='-header_PDF_INPUT-':  #PDFヘッダー部分に書き込むボタンが押されたら
                #もし基板名が設定されていなければ
                sub_value['-BOARD_NAME-'] = ''
                if not sub_value['-BOARD_NAME-']:
                        sg.popup_error('名前が設定されていません', font=18,title="名無し", keep_on_top=True)

                else:   #何かしらのデータがある場合
                        #pdfに書き込みする作業
                        ##1.A4サイズ縦型のCanvasを準備
                        filename = sub_value['-BOARD_NAME-'] + 'チェックリスト.pdf'
                        pdf = canvas.Canvas(filename, pagesize=portrait(A4))
                        pdf.saveState() #セーブ

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

                        ##3.固定の文字列を描画する(左から原点から, 描画したい文字列の順)
                        pdf.drawString(2.2*cm, 26*cm, '基板名:              ') #ヘッダー部分固定の文字列
                        pdf.drawString(2.2*cm, 24*cm, 'リスト作成日:              ')

                        ##4.変数部分の文字列を描画する(左から原点から, 描画したい文字列の順)
                        pdf.drawString(6.4*cm, 24*cm, 
                        sub_value['-LIST_DATE-']) #ヘッダー部分可変の文字列

                        ##5.pdfを保存する
                        pdf.restoreState()
                        pdf.save() 

上記のコードを実行すると

このような感じになる

pdfに変数を書き込むその3成功

次回は、PDFに変数を書き込むその4を試す