Form Alanlarıyla Çalışmak

Doldurulacak boşlukları (alanları) içeren bir belge form olarak bilinir. Örneğin, Microsoft Word’te kullanıcıların girişleri seçebileceği açılır listeleri kullanan bir kayıt formu oluşturabilirsiniz. Form alanı, ad veya adres gibi belirli bir veri türünün depolandığı konumdur. Microsoft Word’teki form alanları metin girişi, birleşik giriş kutusu ve onay kutusunu içerir.

Kullanıcılarınızla “iletişim kurmak” için projenizdeki form alanlarını kullanabilirsiniz. Örneğin, içeriği korunan ancak yalnızca form alanlarının düzenlenebildiği bir belge oluşturursunuz. Kullanıcılar form alanlarına verilerini girip belgeyi gönderebilirler. Aspose.Words kullanan uygulamanız form alanlarından veri alıp işleyebilir.

Form alanlarını kod aracılığıyla belgeye yerleştirmek kolaydır. DocumentBuilder‘in bunları eklemek için her form alanı türü için bir tane olmak üzere özel yöntemleri vardır. Yöntemlerin her biri, form alanının adını temsil eden bir dize parametresini kabul eder. Ad boş bir dize olabilir. Ancak form alanı için bir ad belirlerseniz, aynı adla otomatik olarak bir yer imi oluşturulur.

Form Alanları Ekleme

Form alanları, kullanıcıyla “etkileşime” izin veren özel bir Word alanıdır. Microsoft Word’teki form alanları metin kutusu, birleşik giriş kutusu ve onay kutusunu içerir.

DocumentBuilder, her tür form alanını belgeye eklemek için özel yöntemler sağlar: insert_text_input, insert_check_box ve insert_combo_box. Form alanı için bir ad belirlerseniz aynı adla otomatik olarak bir yer işareti oluşturulacağını unutmayın.

Aşağıdaki kod örneği, birleşik giriş kutusu form alanının bir belgeye nasıl ekleneceğini gösterir:

Metin Girişi Ekle

Belgeye bir metin kutusu eklemek için insert_text_input yöntemini kullanın.

Aşağıdaki kod örneği, metin giriş formu alanının bir belgeye nasıl ekleneceğini gösterir:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

builder.insert_text_input("TextInput", aw.fields.TextFormFieldType.REGULAR, "", "Hello", 0)
        
doc.save(docs_base.artifacts_dir + "WorkingWithFormFields.document_builder_insert_text_input_form_field.docx")

Onay Kutusu Ekle

Belgeye bir onay kutusu eklemek için insert_check_box‘i arayın.

Aşağıdaki kod örneği, onay kutusu form alanının bir belgeye nasıl ekleneceğini gösterir:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

builder.insert_check_box("CheckBox", True, True, 0)
        
doc.save(docs_base.artifacts_dir + "WorkingWithFormFields.document_builder_insert_check_box_form_field.docx")

Birleşik Giriş Kutusu Ekleme

Belgeye bir Combobox eklemek için insert_combo_box‘i arayın.

Aşağıdaki kod örneği, Combobox form alanının bir belgeye nasıl ekleneceğini gösterir:

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

items =  ["One", "Two", "Three"] 
builder.insert_combo_box("DropDown", items, 0)

doc.save(docs_base.artifacts_dir + "WorkingWithFormFields.document_builder_insert_combo_box_form_field.docx")

Form Alanlarını Edinme

Form alanlarının bir koleksiyonu, form_fields özelliği kullanılarak alınabilen FormFieldCollection sınıfı tarafından temsil edilir. Bu, belgenin kendisi de dahil olmak üzere herhangi bir belge düğümünde bulunan form alanlarını elde edebileceğiniz anlamına gelir.

Belirli bir form alanını dizinine veya adına göre alabilirsiniz.

Aşağıdaki kod örneği form alanlarına nasıl erişileceğini gösterir:

FormField özellikleri form alanı adı, türü ve sonucuyla çalışmanıza olanak tanır.

Aşağıdaki kod örneği form alanı adı, türü ve sonucuyla nasıl çalışılacağını gösterir:

Form Alanlarını Biçimlendir

FormField‘nin font özelliği, yazı tipi formatının alan değeri de dahil olmak üzere bir bütün olarak FormField‘ye uygulanmasına olanak tanır.

Aşağıdaki kod örneği, yazı tipi formatının FormField‘e nasıl uygulanacağını gösterir: