0

完全な PDF ファイルに入力するために Python を使用する必要がありますが、現在 8 時間検索しており、PDF ファイルのみのテキスト フィールドに入力する方法しか見つかりませんでした。チェックボックスに入力する必要があります。また、[はい] または [いいえ] ラジオボタンや [性別] ラジオボタンのように、一方をオンにして他方をオンにできないラジオボタンも使用する必要があります。

これは私がpdfrw pythonモジュールで使用しているコードです...

import pdfrw

template_pdf = pdfrw.PdfReader("template.pdf")

ANNOT_KEY = '/Annots'
ANNOT_FIELD_KEY = '/T'
ANNOT_VAL_KEY = '/V'
ANNOT_RECT_KEY = '/Rect'
SUBTYPE_KEY = '/Subtype'
WIDGET_SUBTYPE_KEY = '/Widget'

def fillPDF(data_dict):
    for page in template_pdf.pages:
        annotations = page[ANNOT_KEY]
        for annotation in annotations:
            if annotation[SUBTYPE_KEY] == WIDGET_SUBTYPE_KEY:
                if annotation[ANNOT_FIELD_KEY]:
                    key = annotation[ANNOT_FIELD_KEY][1:-1]
                    if key in data_dict.keys():
                        if type(data_dict[key]) == bool:
                            if data_dict[key] == True:
                                annotation.update(pdfrw.PdfDict(AS=pdfrw.PdfName('Yes')))
                        else:
                            annotation.update(pdfrw.PdfDict(V='{}'.format(data_dict[key])))
                        annotation.update(pdfrw.PdfDict(AP=''))
                    else:
                        print(key)

    template_pdf.Root.AcroForm.update(pdfrw.PdfDict(NeedAppearances=pdfrw.PdfObject('true')))
    pdfrw.PdfWriter().write("output.pdf", template_pdf)

このコードは、テキスト フィールドとチェックボックスに入力することになっていますが、チェックボックスでは機能せず、ラジオ ボタンも検出しません。

Pythonでラジオボタンとチェックボックスをチェックする方法があれば教えてください。ありがとうございました。

4

1 に答える 1