Dokument Öğelerini Ekle için `DocumentBuilder`'ı Kullanın

0 DocumentBuilder bir belgeyi değiştirmek için kullanılır. Bu makale, çeşitli görevleri nasıl gerçekleştireceğini açıklar ve tanımlar.

Metnin Bir Parçasını Ekleme

Metni belgelere eklemek için gereken metin dizgisini DocumentBuilder.write yöntemine geçirin. Metin biçimlendirme, Font özelliğinde belirlenir. Bu nesne farklı yazı tipi özniteliklerini içerir (yazı tipinin adı, yazı tipi boyutu, renk vb.). Bazı önemli yazı tipi öznitelikleri ayrıca doğrudan erişmek için size izin veren DocumentBuilder özellikleri tarafından temsil edilir. Bunlar Boolean özellikleri Font.getBold, Font.getItalic ve Font.getUnderline.

Aşağıdaki kod örneği, DocumentBuilder kullanarak biçimlendirilmiş metin ekler.

Bir Paragraf Ekleme

DocumentBuilder.writeln belgenin içine bir metin dizesi ekler fakat buna ek olarak paragraf aralığı ekler. Geçerli yazı tipi biçimlendirmesi de DocumentBuilder.getFont özelliği ile belirtilir ve geçerli paragraf biçimlendirme ise DocumentBuilder.getParagraphFormat özelliğine göre belirlenir

Aşağıdaki kod örneği, bir paragrafın belgeye nasıl ekleneceğini göstermektedir.

Bir Tablo Ekleme

Bir tablo oluşturmak için DocumentBuilder kullanan temel algoritma basittir:

  1. DocumentBuilder.startTable‘u kullanarak tabloyu başlatın.
  2. Bir hücre DocumentBuilder.insertCell kullanarak girin. Bu otomatik olarak yeni bir satır başlatır. Gerekirse, hücre biçimlendirmesi belirtmek için DocumentBuilder.getCellFormat özelliğini kullanın.
  3. Hücre içeriğini DocumentBuilder yöntemlerini kullanarak girin.
  4. Adımları tekrarlayın 2 ve 3 bir sıra tamamlanana kadar.
  5. Geçerli satırı bitirmek için DocumentBuilder.endRow çağırın. Gerekirse, satır biçimlendirmesi belirtmek için DocumentBuilder.RowFormat özelliğini kullanın.
  6. Adımları 2 - 5, tablo tamamlanana kadar tekrarlayın.
  7. Tablo oluşturmayı bitirmek için DocumentBuilder.endTable çağrın. Aşağıda uygun DocumentBuilder tablo oluşturma yöntemleri açıklanmaktadır.

Bir Tablo Başlatmak

DocumentBuilder.startTable çağırmak bir tablo oluşturmanın ilk adımıdır. Bir hücre içinde de çağrılabilir, bu durumda iç içe geçmiş bir tablo başlatır. Çağırılması gereken sonraki yöntem DocumentBuilder.insertCell’dir.

Bir Hücre Ekleme

DocumentBuilder.insertCell’i çağırdıktan sonra yeni bir hücre oluşturulur ve DocumentBuilder sınıfının diğer yöntemleri aracılığıyla eklediğiniz her içerik geçerli hücreye eklenir. Aynı satırda yeni bir hücre başlatmak için ‘DocumentBuilder.insertCell’ı tekrar çağırın. Hücre biçimlendirmesini belirtmek için ‘DocumentBuilder.getCellFormat’ özelliğini kullanın. Bu özellik, bir tablo hücresinin tüm biçimlendirmesini temsil eden bir getCellFormat nesnesini döndürür.

Bir Satırı Tamamlamak

Call DocumentBuilder.endRow for to finish the current row. If you call DocumentBuilder.insertCell immediately after that, then the table continues on a new row. Use the DocumentBuilder.RowFormat property to specify row formatting. It returns a RowFormat object which represents all formatting for a table row.

Bir tabloya son vermek

Call DocumentBuilder.endTable to finish the present row. This method should be called only once after DocumentBuilder.endRow was called. When called, DocumentBuilder.endTable moves the cursor out of the current cell to a position just after the table. The following example demonstrates how to build a formatted table that contains 2 rows and 2 columns.

Bir Kesiği Ekleme

Yeni bir satır, paragraf, sütun, bölüm ya da sayfa açıkça başlamak istiyorsanız, “DocumentBuilder.insertBreak” yöntemini çağırın. Bu yönteme eklemek istediğiniz kesme türünü temsil eden BreakType numaralandırmasından geçin Aşağıdaki kod örneği bir belgedeki sayfa kesmelerini nasıl ekleyeceğinizi gösterir.

Görüntüyü eklemek

DocumentBuilder DocumentBuilder.insertImage yönteminin birkaç aşırı yüklemesi vardır ve size bir iç içe veya yüzen görüntü eklemenize izin verir. Görüntü EMF veya WMF metafile ise, belgeye metafil biçiminde eklenecektir. Tüm diğer görüntüler PNG formatında saklanacaktır. DocumentBuilder.insertImage yöntemi farklı kaynaklardan gelen görüntüleri kullanabilir:

  • Bir dosya veya URL geçiren bir dize parametresi ile
  • Bir akıdan Stream parametresi ile geçerek
  • Bir Image nesnesinden bir Image parametresi ile
  • Bir bayt dizisini parametre olarak geçirerek bir bayt dizisi oluşturur
  • Ve diğerleri

DocumentBuilder.insertImage yöntemleri için her birinde, size aşağıdaki seçeneklerle bir görüntüyü ekleme imkanı tanıyan daha fazla aşırı yüklemeler vardır:

  • İnline veya belirli bir konumda yüzen
  • Yüzde ölçeği veya özel boyut

Ayrıca, DocumentBuilder.insertImage yöntemi oluşturulan ve eklenen yeni bir Shape nesnesini döndürür böylece şeklin özelliklerini daha da değiştirebilirsiniz.

İnline Görüntü Ekleme

Geçir bir tek dize, görüntü içeren dosyayı temsil etmek için DocumentBuilder.insertImage’a. Görüntüyü belgeye iç içe geçmiş grafik olarak eklemek için kullanılır. Aşağıdaki kod örneğinde, belgenin imleç konumuna iç içe geçmiş bir görüntünün nasıl ekleneceği gösterilmektedir.

Kayan (Kesinlikle Konumlandırılmış) Görüntü Ekleme

Bu örnek, bir dosya veya URL'dan bir yüzen görüntüyü belirtilen konumda ve boyutta ekler.

Bir Yer İşareti Ekleme

Bir belgedeki bir yer işareti eklemek için şunları yapmalısınız:

  1. İşaretlemeyi istediğiniz adla DocumentBuilder.startBookmark ‘u geçirmek için bir çağrı yapın.
  2. Kitap işareti metnini DocumentBuilder yöntemlerini kullanarak ekleyin.
  3. Çağrı DocumentBuilder.endBookmark geçirmek için aynı adı kullandığınız DocumentBuilder.startBookmark ile birlikte.

Kitap işaretleri herhangi bir aralıkta geçebilir ve örtüşebilir. Geçerli bir işaretçi oluşturmak için, aynı işaretçi adı ile hem DocumentBuilder.startBookmark hem de DocumentBuilder.endBookmark’ı çağırmanız gerekir.

Zayıf biçimlendirilmiş yer imleri veya aynı adı olan yer imleri belgenin kaydedildiği sırada göz ardı edilecektir.

Aşağıdaki kod örneği, bir belge oluşturucuyu kullanarak bir belgenin içine nasıl bir yer işareti ekleyeceğini göstermektedir.

Bir Alan Ekleme

Maddelerin Microsoft Word alanları bir alan kodu ve bir alan sonucundan oluşur. Alan kodu bir formül gibidir ve alan sonucu formülün ürettiği değerdir. Alan kodunda ayrıca belirli bir eylemi gerçekleştirmek için ek talimatlar sağlayan alan anahtarları da olabilir. Microsoft Word belgenizde alan kodlarını ve sonuçlarını anahtar tuş kombinasyonu Alt+F9 ile görüntüleyebilirsiniz. Alan kodları küme içine alınır ( { } ). Belgelerindeki alanları oluşturmak için DocumentBuilder.insertField‘ı kullanın. Bir alan türü, alan kodu ve alan değeri belirtmeniz gerekir. Belirli bir alan kodunun sözdizimi konusunda emin değilseniz, önce alanı Microsoft Word olarak oluşturun ve anahtar tuş kombinasyonunu kullanarak alan koduna geçin Aşağıdaki kod örneği bir belgeye Belge Oluşturucu kullanarak bir birleştirme alanı ekler.

Bir Form Alanını Ekleme

Form alanları kullanıcı ile “etkileşim” sağlayan kelime alanlarının özel bir durumudur. Microsoft Word içindeki Form alanları metin kutusu, combobox ve onay kutusunu içerir.DocumentBuilder her bir form alanı türünü belgeye eklemek için özel yöntemler sağlar: DocumentBuilder.insertTextInput, DocumentBuilder.insertCheckBox ve DocumentBuilder.insertComboBox. Not edin form alanına ad belirtirseniz aynı adı taşıyan bir imla otomatik olarak oluşturulur.

Bir Metin Girişi Ekleme

DocumentBuilder.insertTextInput bir belgedeki metin kutusunu eklemek için kullanılır. Aşağıdaki kod örneği, bir belgeye metin girişi form alanı eklemeyi gösterir.

Bir CheckBox ekliyor

DocumentBuilder.insertCheckBox bir belgeye onay kutusunu eklemek için kullanılır. Aşağıdaki kod örneği, bir belgeye form alanı olarak onay kutusunu eklemeyi gösterir.

Bir Kombinasyon Kutusu Ekleme

Bir kombinasyon kutusunu belgeye eklemek için DocumentBuilder.insert ComboBox çağırın. Aşağıdaki kod örneğinde bir belgeye bir kombinasyon kutusu form alanı eklemenin nasıl yapılacağı gösterilmiştir.

Alan Düzeyinde Yerel Ekleme

Müşteriler şimdi alan düzeyinde Yerel ayarı belirtebilir ve daha iyi kontrol sağlayabilir. Belge oluşturucu içinde her bir alana ilişkin Yerel kimlikler ile ilişkilendirilebilir. Aşağıdaki örnekler, bu seçeneği nasıl kullanacağınızı göstermektedir.

HTML ekleme

Bir Word belgesine bir HTML dizesi içeren bir HTML parçasını veya tüm HTML belgesini kolayca ekleyebilirsiniz. Bunu yapmak için sadece bu dizeyi DocumentBuilder’ın insertHtml yöntemine geçirin. Yöntemin yararlı uygulamalarından biri, mail merge sırasında bir veritabanına depolanan bir HTML dizesini belgeye eklemek ve bunun yerine çeşitli yöntemlerle belge oluşturucuyu kullanarak biçimlendirilmiş içeriği eklemektir. Aşağıdaki kod örneği DocumentBuilder kullanarak bir belgeye HTML ekler.

Hipere Bağlantı Ekleme

Belgeye bir bağlantı eklemek için DocumentBuilder.insertHyperlink kullanın. Bu yöntem üç parametre kabul eder: belge içinde görüntülenen bağlantı metni, bağlantı hedefi (URL veya belgedeki bir yer iminin adı) ve URL’nin başında ve sonunda tırnak işaretleri olması gereken bool parametresi true eğer URL bir yer iminin adı ise.DocumentBuilder.insertHyperlink DocumentBuilder.insertField yöntemini çağrır. Yöntem her zaman URL’nin başında ve sonunda tırnak işaretleri ekler. Bağlantı görüntüleme metninin yazı tipi biçimlendirilmesini açıkça belirtmek için Font özelliğini kullanmanız gerektiğini unutmayın. Aşağıdaki kod örneği, DocumentBuilder kullanarak bir belgeye bir bağlantı ekler.

Bir İçindekiler Tablosu Ekleme

Şu anda belgenin konumunda bir TOC (içindekiler) alanı eklemek için DocumentBuilder.insertTableOfContents yöntemini çağırın. DocumentBuilder.insertTableOfContents yöntemi yalnızca belgeye bir TOC alan ekleyecektir. İçindekileri oluşturmak ve sayfa numaralarına göre görüntülemek için, alan eklendikten sonra Document.UpdateFields yöntemi çağrılmalıdır. Aşağıdaki kod örneğinde bir İçindekiler alanı bir belgeye nasıl ekleneceği gösterilmiştir.

OLE Nesnesini Ekleme

Eğer istediğiniz Ole Nesne çağrısı DocumentBuilder.insertOleObjectAsIcon.

OLE Nesnesini Eklerken Dosya Adı ve Uzantısını Ayarla

OLE paketi bir miras ve ‘belgelenmemiş’ yoludur gömülü nesneleri depolamak için OLE işleyicisi bilinmiyorsa. Erken Windows sürümleri gibi Windows 3.1, 95 ve 98’te Packager.exe uygulaması, belgeye herhangi bir tür veriyi eklemek için kullanılabilir. Şimdi bu uygulama Windows dışlanmış olmasına rağmen MS Word ve diğer uygulamalar hala OLE işleyicisi eksik veya bilinmiyorsa veri eklemek için onu kullanıyor. OlePackage sınıfı, OLE Paketi özelliklerine erişmeyi sağlar. Aşağıdaki kod örneğinde OLE Paketi için dosya adı, uzantı ve görüntüleme adının nasıl ayarlanacağı gösterilmiştir.

OLE Nesnesine Erişim Ham Veri Alın

Aşağıdaki kod örneği, OleFormat.GetRawData( ) yöntemi kullanılarak nasıl OLE Nesne ham verileri elde edildiğini göstermektedir.

Belgeye Yatay Kural Ekle

Aşağıdaki kod örneği, bir belgeye DocumentBuilder.InsertHorizontalRule yöntemini kullanarak yatay kural şekil eklemeyi gösterir.

Şekillerle Çalışmak

İnline ve Serbest-yüzen Şekilleri Ekleme

Bir belgeye bir tür ve boyut belirtilen iç içe geçmiş şekil ve serbest yüzen şekil ve belirtilen konum, boyut ve metin sarmalama türü eklemek için DocumentBuilder.InsertShape yöntemini kullanabilirsiniz. DocumentBuilder.InsertShape yöntemi, DML şeklinin belge modeline eklenmesine izin verir. Belge, DML şekillerini destekleyen bir biçimde kaydedilmelidir aksi takdirde bu tür düğümler VML şekline dönüştürülürken belge kaydedilir. Aşağıdaki kod örneği bu tür şekilleri belgeye eklemenin nasıl yapılacağını göstermektedir.

Snip Köşeli Dikdörtgen Oluştur

Bir snip köşe dikdörtgeni oluşturmak için Aspose.Words kullanabilirsiniz. Şekil türleri SingleCornerSnipped, TopCornersSnipped, DiagonalCornersSnipped, TopCornersOneRoundedOneSnipped, SingleCornerRounded, TopCornersRounded ve DiagonalCornersRounded’tir. Bu şekil türleri DML şekil oluşturmak için DocumentBuilder.InsertShape yöntemi ile kullanılır. Bu türler VML şekilleri oluşturmak için kullanılamaz. “Shape” sınıfının halka açık oluşturucusunu kullanarak bir şekil oluşturmaya çalışmak “NotSupportedException” özel durumuna neden olur. Aşağıdaki kod örneği bu tür şekillerin belgenin içine nasıl ekleneceğini göstermektedir.

Şekiller DOM içinde Math XML ile Şekiller olarak içe aktarın

Şekilleri OfficeMath nesnelerine dönüştürmek için LoadOptions.ConvertShapeToOfficeMath özelliğini kullanabilirsiniz. Bu özelliğin varsayılan değeri MS Word davranışına karşılık gelir, yani denklem XML şeklini olan şekiller OfficeMath nesnelerine dönüştürülmez.