Form Alanını Sekme Sırasıyla Al
Aspose.PDF for .NET kullanarak C#’ta PDF belgeleriyle çalışırken, form alanlarını belirli bir sekme sırasıyla almanız gereken bir senaryoyla karşılaşabilirsiniz. Bu, form alanlarında sekme sırasına göre işlemler gerçekleştirmek istediğinizde yararlı olabilir. Bu eğitimde, Aspose.PDF for .NET’i kullanarak form alanlarının sekme sırasına göre nasıl alınacağı konusunda size adım adım rehberlik edeceğiz.
Gereksinimler
Başlamadan önce aşağıdaki önkoşullara sahip olduğunuzdan emin olun:
- Sisteminizde Visual Studio yüklü
- Aspose.PDF for .NET kütüphanesi kuruldu
Şimdi form alanlarını sekme sırasına göre alma adımlarına geçelim.
Adım 1: Belge Dizinini Ayarlama
Başlangıç olarak PDF belgenizin bulunduğu belge dizinini ayarlamanız gerekir. Bunu, dizinin yolunu belirterek yapabilirsiniz.dataDir
değişken.
// Belgeler dizininin yolu.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Yer değiştirmek"YOUR DOCUMENT DIRECTORY"
belge dizininizin gerçek yolu ile.
Adım 2: PDF Belgesini Yükleme
Bu adımda Aspose.PDF for .NET kullanarak PDF belgesini yükleyeceğiz.Document
class, PDF belgelerini yükleme ve değiştirme yeteneği sağlar.
Document doc = new Document(dataDir + "Test2.pdf");
Burada,"Test2.pdf"
yüklemek istediğiniz PDF belgesinin adıdır. Belgenin belirtilen belge dizininde bulunduğundan emin olun.
3. Adım: Form Alanlarını Sekme Sırasıyla Alma
Form alanlarını sekme sırasına göre almak için şuraya erişmemiz gerekir:FieldsInTabOrder
mülkiyetiPage
sınıf. Bu özellik, sekme sırasına göre sıralanmış form alanlarının bir listesini döndürür.
Page page = doc.Pages[1];
IList<Field> fields = page.FieldsInTabOrder;
string s = "";
foreach (Field field in fields)
{
s += field. PartialName;
}
Yukarıdaki kod parçasında form alanlarını ikinci sayfadan alıyoruz (doc.Pages[1]
) ve kısmi adlarını birleştirmek için her alanı yineleyin.s
değişken. Bu kod pasajını özel gereksinimlerinize göre değiştirebilirsiniz.
Adım 4: Sekme Sırasını Değiştirme
Form alanlarının sekme sırasını değiştirmek istiyorsanız bunu şu adrese erişerek yapabilirsiniz:TabOrder
her alanın özelliği ve yeni bir sekme sırası değeri atanması. İşte bir örnek:
(doc.Form[3] as Field).TabOrder = 1;
(doc.Form[1] as Field).TabOrder = 2;
(doc.Form[2] as Field).TabOrder = 3;
Yukarıdaki kod parçacığında, üç form alanına (doc.Form[3]
, doc.Form[1]
, Vedoc.Form[2]
). Alan endekslerini ve sekme sırası değerlerini özel gereksinimlerinize göre ayarlayın.
Adım 5: Değiştirilen Belgeyi Kaydetme
Form alanlarının sekme sırasını değiştirdikten sonra değiştirilen belgeyi kaydetmeniz gerekir. Bunu kullanarak yapabilirsinizSave
yöntemiDocument
sınıf.
doc.Save(dataDir + "39522_out.pdf");
Burada,"39522_out.pdf"
değiştirilen belgenin kaydedileceği çıktı dosyasının adıdır. Çıktı dosyası için istediğiniz adı ve konumu belirtin.
Aspose.PDF for .NET kullanarak Sekme Sırasındaki Form Alanını Alma için örnek kaynak kodu
// Belgeler dizininin yolu.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "Test2.pdf");
Page page = doc.Pages[1];
IList<Field> fields = page.FieldsInTabOrder;
string s = "";
foreach (Field field in fields)
{
s += field.PartialName;
}
(doc.Form[3] as Field).TabOrder = 1;
(doc.Form[1] as Field).TabOrder = 2;
(doc.Form[2] as Field).TabOrder = 3;
doc.Save(dataDir + "39522_out.pdf");
Document doc1 = new Document(dataDir + "39522_out.pdf");
s = "";
foreach (Field field in doc1.Pages[1].FieldsInTabOrder)
{
s += field.PartialName;
}
string index = "";
foreach (Field field in doc1.Form)
{
index += field.TabOrder;
}
Çözüm
Bu eğitimde Aspose.PDF for .NET kullanarak form alanlarının sekme sırasına göre nasıl alınacağını öğrendik. Bir PDF belgesi yükleme, form alanlarını sekme sırasına göre alma, sekme sırasını değiştirme ve değiştirilen belgeyi kaydetme ile ilgili adımları ele aldık. Bu adımları izleyerek form alanlarıyla verimli bir şekilde çalışabilir ve sekme sırasını ihtiyaçlarınıza göre özelleştirebilirsiniz.
SSS’ler
S: C# kodumda alınan form alanlarını daha ileri işlemler için nasıl kullanabilirim?
C: Alınan form alanlarını C# kodunuzdaki gibi özelliklerine erişerek kullanabilirsiniz.Value
, Name
, Rect
vb. Bu özellikler, form alanı verilerini gerektiği gibi okumanıza ve değiştirmenize olanak tanır.
S: Form alanlarını PDF belgesinin tüm sayfalarından sekme sırasına göre alabilir miyim?
C: Evet, her sayfayı yineleyerek ve PDF belgesinin tüm sayfalarından form alanlarına erişerek form alanlarını alabilirsiniz.FieldsInTabOrder
özelliği öğreticide gösterildiği gibi. Bu size tüm sayfalarda sekme sırasına göre sıralanmış form alanları verecektir.
S: Metin alanları veya onay kutuları gibi yalnızca belirli türdeki form alanlarını sekme sırasına göre almak mümkün müdür?
C: Evet, form alanlarını sekme sırasına göre aldıktan sonra metin alanları veya onay kutuları gibi türlerine göre filtreleyebilirsiniz. Her form alanının türünü kontrol etmek ve bunları buna göre işlemek için koşullu ifadeleri kullanabilirsiniz.
S: Form alanlarını sekme sırası yerine adlarına göre alabilir miyim?
C: Evet, form alanlarını isimlerine göre alabilirsiniz.doc.Form
toplama ve alan adının indeks olarak belirtilmesi. Örneğin,doc.Form["fieldName"]
belirtilen addaki form alanını alacaktır.
S: Aspose.PDF for .NET şifreli PDF belgeleriyle çalışmayı destekliyor mu?
C: Evet, Aspose.PDF for .NET şifreli PDF belgeleriyle çalışma desteği sağlar. Uygun şifre parametrelerini kullanarak şifrelenmiş PDF dosyalarını yükleyebilir ve değiştirebilirsiniz.