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

update-remove-a-field-aspose-words

Yapı aşağıda demo projesi “DocumentExplorer”. kullanılarak hiyerarşik biçimde de görülebilir

update-remove-a-field-aspose-words-2

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: