Alanları Statik Metinle Değiştir
Belgenizi statik bir kopya olarak kaydetmek istediğinizde genellikle alanların değiştirilmesi gerekir. Örneğin, bir e-postaya ek olarak gönderirken. DATE
veya TIME
gibi alanların statik metne dönüştürülmesi, belgenin gönderildiği tarihle aynı tarihi görüntülemesine olanak tanır. Ayrıca bazı durumlarda koşullu IF
alanlarını belgenizden kaldırmanız ve bunların yerine en yeni metin sonucuyla değiştirmeniz gerekebilir. Örneğin, IF
alanının sonucunu statik metne dönüştürmek, böylece belgedeki alanlar güncellendiğinde değerinin artık dinamik olarak değişmemesini sağlamak.
Aşağıdaki şemada IF
alanının bir belgede nasıl saklandığı gösterilmektedir:
- metin özel alan düğümleriyle çevrilidir – FieldStart ve FieldEnd
- FieldSeparator düğümü alan içindeki metni alan koduna ve alan sonucuna ayırır
- alan kodu alanın genel davranışını tanımlarken alan sonucu, bu alan Microsoft Word veya Aspose.Words kullanılarak güncellendiğinde en son sonucu korur
- alan sonucu, alanda saklanan ve görüntülendiğinde belgede görüntülenen sonuçtur
Yapı aşağıda demo projesi “DocumentExplorer”. kullanılarak hiyerarşik biçimde de görülebilir
Metinle Değiştirilemeyen Alanlar
Bir alanı statik metinle değiştirmek, üst bilgi veya alt bilgideki bazı alanlar için düzgün çalışmaz.
Örneğin, üstbilgi veya altbilgideki PAGE
alanını statik metne dönüştürmeye çalışmak, tüm sayfalarda aynı değerin görüntülenmesiyle sonuçlanacaktır. Bunun nedeni, üstbilgilerin ve altbilgilerin birden çok sayfada tekrarlanması ve alan olarak kaldıklarında, her sayfa için doğru sonucu gösterecek şekilde özel olarak ele alınmasıdır.
Ancak başlıkta PAGE
alanı, statik metin akışına iyi bir şekilde çevrilir. Bu metin akışı, bölümdeki son sayfaymış gibi değerlendirilecek ve bu, başlıktaki herhangi bir PAGE
alanının tüm sayfalarda son sayfayı görüntülemesine neden olacaktır.
Aşağıdaki kod örneği, alanın en son sonucuyla nasıl değiştirileceğini gösterir:
Belirli Belge Parçalarındaki Belirli Alan Türlerini Dönüştürme
ConvertFieldsToStaticText yöntemi iki parametreyi (CompositeNode özellikleri ve FieldType numaralandırması) kabul ettiğinden, bu yönteme herhangi bir bileşik düğümü geçirmek mümkündür. Bu, alanların yalnızca belgenin belirli bölümlerinde statik metne dönüştürülmesine olanak tanır.
Örneğin, bir Document nesnesini iletebilir ve belirtilen türdeki alanları belgenin tamamından statik metne dönüştürebilirsiniz veya bir bölümün Body nesnesini iletebilir ve yalnızca o gövdede bulunan alanları dönüştürebilirsiniz.
ConvertFieldsToStaticText yöntemine iletilen FieldType numaralandırması, hangi tür alanların statik metne dönüştürülmesi gerektiğini belirtir. Belgede bulunan diğer alan türleri değişmeden kalacaktır.
Aşağıdaki kod örneği, belirli bir türdeki (belirli bir düğümdeki targetFieldType) alanların nasıl seçileceğini ve ardından bunların statik metne nasıl dönüştürüleceğini gösterir:
Aşağıdaki kod örneği, bir belgedeki tüm IF
alanlarının statik metne nasıl dönüştürüleceğini gösterir:
Aşağıdaki kod örneği, bir belgenin Gövdesindeki tüm PAGE
alanlarının statik metne nasıl dönüştürüleceğini gösterir:
Aşağıdaki kod örneği, son paragraftaki tüm IF
alanlarının statik metne nasıl dönüştürüleceğini gösterir: