Word Bağlantıları ve Referanslarıyla .NET'de Nasıl Çalışılır

Word Bağlantıları ve Referanslarıyla .NET'de Nasıl Çalışılır

Bu kılavuz, hiperlinkler, yer imlerine çapraz referanslar, istemli değer alanları ve atıf alanları eklemenin nasıl yapılacağını gösterir Aspose.Words FOSS için .NET, kullanarak FieldHyperlink, FieldRef, FieldPageRef, FieldCitation, ve diğer bağlantı ve referans Field alt sınıfları içinde Aspose.Words.Fields ad alanı. Basit bir hiperlink eklemeyi, yer imleri oluşturmayı ve bunlara çapraz referans vermeyi, bir alan güncellemesi sırasında değer istemeyi ve bibliyografik kaynakları atıf olarak eklemeyi kapsar.

Adım Adım Kılavuz

Adım 1: Paketi Yükleyin

Aspose.Words FOSS for .NET henüz bir NuGet paketi yayınlamıyor – bunun yerine kütüphaneyi kaynak koddan derleyin. https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git reposunu klonlayın, ardından Aspose.Words.sln öğesini .NET SDK ile Release yapılandırmasında derleyin ve ortaya çıkan Aspose.Words derlemesini projenize referans gösterin. Kütüphane .NET Standard 2.0 hedefli olduğundan, .NET Framework 4.6.2+ ve .NET 6/8/10 üzerinde çalışır.


Adım 2: Gerekli Sınıfları İçe Aktarın

Document ve DocumentBuilder için bir using Aspose.Words; yönergesi, FieldHyperlink, FieldRef, FieldPageRef, FieldNoteRef, FieldStyleRef, FieldSet, FieldAsk, FieldFillIn, FieldCitation, FieldBibliography ve bu kılavuzun kapsadığı diğer alan sınıfları için bir using Aspose.Words.Fields; yönergesi ekleyin.


Adım 3: Bir Köprü Ekle

Basit bir köprü için, DocumentBuilder.InsertHyperlink(displayText, urlOrBookmark, isBookmark) çağırın – URL hedefi için isBookmark: false geçirin veya aynı belgede bir yer imine bağlamak için true kullanın. Kısayolun ortaya çıkaramadığı özelliklere ihtiyaç duyulduğunda doğrudan bir FieldHyperlink oluşturmayı seçin: Address ve SubAddress hedef URL’yi veya belgede konumu tutar, ScreenTip üzerine gelindiğinde gösterilecek ipucunu ayarlar, OpenInNewWindow ve IsImageMap görüntü bayraklarıdır ve Target bir tarayıcı çerçevesinin adını belirtir.


Adım 4: Referans İçin Bir Yer İmi Oluştur

DocumentBuilder.StartBookmark(bookmarkName)‘ı yer iminin kapsaması gereken içeriğin önüne, DocumentBuilder.EndBookmark(bookmarkName)‘ı ise sonrasına çağırın ve her iki çağrıda da aynı adı kullanın. DocumentBuilder.MoveToBookmark(bookmarkName) zaten var olan bir yer imine imleci taşır – bu, ona yakın bir çapraz referans alanı eklemeden önce bir konuma gitmek için kullanışlıdır.


Adım 5: O Yer İmine Çapraz Referans Ekle

FieldRef (REF alanı), FieldPageRef (PAGEREF) ve FieldNoteRef (NOTEREF) her biri, BookmarkName özelliği aracılığıyla adlandırılmış bir yer imindeki içeriğe ulaşır. Referansı tıklanabilir yapmak için InsertHyperlink ayarlayın ve referans verilen metnin kendisi yerine göreceli bir konumu (“üstte” / “altta”) bildirmek için InsertRelativePosition ayarlayın. FieldRef ayrıca paragraf numaralandırma seçeneklerini destekler — InsertParagraphNumber, InsertParagraphNumberInFullContext, InsertParagraphNumberInRelativeContext, NumberSeparator — ve IncludeNoteOrComment. FieldStyleRef (STYLEREF) bir yer imi yerine verilen bir StyleName ile biçimlendirilmiş en yakın paragrafı bulur; SearchFromBottom alanın konumundan geriye doğru arama yapar. FieldSet (SET) bir yer imli metin değerini tanımlar — BookmarkName ve BookmarkText — ki başka bir yerdeki REF alanı bunu çözümleyebilir.


Adım 6: Güncelleme Sırasında Bir Değer İsteyin

FieldAsk (ASK) ve FieldFillIn (FILLIN) alanı güncelleyen kişiden bir değer iste: set PromptText kullanıcıya gösterilen metne, DefaultResponse yedek bir değer için ve PromptOnceOnMailMerge posta birleştirme sırasında yinelenen istemleri sınırlamak için. FieldAsk ek olarak yanıtını şu adreste saklar BookmarkName böylece diğer alanlar ona başvurabilir. Denetimsiz alan güncellemeleri için, etkileşimli olarak istemek yerine yanıtları programlı olarak sağlayın; bkz. alanlar rehberi bunu yapan geri çağırma arayüzü için.


Adım 7: Harici veya Bağlantılı İçeriği Referans Al

FieldDde (DDE) ve FieldDdeAuto (DDEAUTO) ProgId, SourceFullName ve SourceItem aracılığıyla başka bir uygulamadaki içeriğe bağlanır, InsertAsText, InsertAsHtml, InsertAsPicture, InsertAsRtf, InsertAsUnicode ve InsertAsBitmap eklenen temsili seçerken, AutoUpdate / IsLinked yenileme davranışını kontrol eder. FieldLink (LINK) OLE-bağlantı eşdeğeridir ve FormatUpdateType ekler. FieldImport (IMPORT) ve FieldIncludePicture (INCLUDEPICTURE) SourceFullName ve GraphicFilter aracılığıyla harici bir grafiği çeker. FieldInclude (INCLUDE) ve FieldIncludeText (INCLUDETEXT) harici belge içeriğini alır, BookmarkName dahil edilen aralığı sınırlamak ve LockFields yenilenmesini önlemek için; FieldIncludeText ayrıca XML kaynaklarını Encoding, MimeType, NamespaceMappings, XPath ve XslTransformation aracılığıyla destekler.


Adım 8: Oluşturma Blokları ve Sözlük Girdilerini Referans Al

FieldAutoText (AUTOTEXT), FieldAutoTextList (AUTOTEXTLIST) ve FieldGlossary (GLOSSARY) hepsi EntryName aracılığıyla adlandırılmış bir building-block girişine referans verir; FieldAutoTextList onun liste-stili sunumu için ListStyle ve ScreenTip ekler.


Adım 9: Atıf ve Bibliyografi Alanlarını Ekle

FieldCitation (CITATION) ve FieldBibliography (BIBLIOGRAPHY) belge bibliyografya verilerinden alınan içeriği oluştur. Ayarla FieldCitation.SourceTag (veya alternatif AnotherSourceTag) hangi kaynağa atıfta bulunduğunu belirlemek için ve kullan Prefix, Suffix, PageNumber, VolumeNumber, ve Suppress* bayraklar (SuppressAuthor, SuppressTitle, SuppressYear) atıfın nasıl biçimlendirileceğini kontrol etmek için. FieldBibliography.SourceTag, FilterLanguageId, ve FormatLanguageId render edilen bibliyografyada hangi kaynakların görüneceğini ve hangi dilde olacağını kontrol eder. Bu alanlar yalnızca eşleşen Source kayıtlar mevcut – bakınız bibliyografya kılavuzu bunları oluşturmak için.

Yaygın Sorunlar ve Çözümler

REF, PAGEREF veya NOTEREF alanı bir hata sonucu gösterir Bu BookmarkName hedefi belgede bulunmuyor. Yer imini şununla oluşturun DocumentBuilder.StartBookmark() / EndBookmark() alanı güncellemeden önce.

ASK veya FILLIN alanı, gözetimsiz bir güncellemeyi engeller Programatik olarak bir yanıt sağlamak için hiçbir geri arama atanmadı. Aşağıda açıklanan alan-güncelleme geri aramasını atayın alanlar kılavuzu, ya da ayarla DefaultResponse alan üzerinde, böylece bir yedek değer alır.

CITATION veya BIBLIOGRAPHY alanı boş görüntülenir Bu SourceTag hiçbir şeyle eşleşmiyor Source belgenin bibliyografya verilerinde. Eşleşen öğeyi ekleyin Source – bkz. bibliyografi kılavuzu.

DDE, DDEAUTO veya LINK alanı yenilenmiyor Bu alanlar, orijinal Windows/OLE bağlamı dışında mevcut olmayan harici bir OLE kaynağına başvurur. Bu durumda, alanın depolanan sonucunu son bilinen değer olarak ele alın.

InsertHyperlink ile eklenen bir köprü, ihtiyacım olan bir özelliği eksik bırakıyor DocumentBuilder.InsertHyperlink() bir kısayoldur ve her şeyi ortaya çıkarmaz FieldHyperlink özelliği. Oluşturun veya alın FieldHyperlink doğrudan özellikleri ayarlamak için, örneğin ScreenTip or IsImageMap.

Sıkça Sorulan Sorular

FieldRef ile FieldStyleRef arasındaki fark nedir?

FieldRef, adlandırılmış bir yer imindeki (BookmarkName) içeriğe çözülür; FieldStyleRef ise yer imlerinden bağımsız olarak verilen bir StyleName ile biçimlendirilmiş en yakın paragrafı çözer.

Bir Field’ı elle oluşturmadan basit bir hiperlinki nasıl eklerim?

Çağır DocumentBuilder.InsertHyperlink(displayText, urlOrBookmark, isBookmark).

Bu link ve referans alan sınıfları, diğer alanlardan ayrı bir ad alanında mı?

Hayır – FieldHyperlink, FieldRef, FieldCitation ve burada ele alınan diğer sınıflar, Aspose.Words.Fields ad alanındaki sıradan Field alt sınıflarıdır; aynı ad alanı, diğer tüm alan türleri için de kullanılır.

Atıf alanları bibliyografya veri modeliyle nasıl ilişkilidir?

FieldCitation and FieldBibliography içeriği arayarak oluştur SourceTag karşı Source kayıtlar açıklanan bibliyografya rehberi – bu alan sınıfları renderlemeyi yönetirken, Source and Contributor sınıflar temel veriyi tutar.

Bir yer işaretini ona başvurmadan önce nasıl oluştururum?

İçeriğin öncesinde DocumentBuilder.StartBookmark(bookmarkName)‘ı, sonrasında ise DocumentBuilder.EndBookmark(bookmarkName)‘i çağırın; her iki çağrı için aynı adı kullanın.

Ayrıca Bakınız

 Türkçe