Práce s odkazy a referencemi
Práce s odkazy a referencemi
Kódy polí odkazů a křížových odkazů ve Wordu – HYPERLINK, REF, PAGEREF, NOTEREF, STYLEREF, SET, ASK, FILLIN, CITATION, BIBLIOGRAPHY, a další – jsou každé implementovány jako vyhrazené Field podtřída v Aspose.Words FOSS pro .NET. Všechny tyto třídy se nacházejí v Aspose.Words.Fields jmenném prostoru spolu s každým dalším typem pole; tato stránka seskupuje ty, které jsou konkrétně zaměřeny na odkazy, křížové odkazy, vyzvané hodnoty a citace, a popisuje, co každá z nich vystavuje.
Hyperlinks
FieldHyperlink představuje pole HYPERLINK: Address a SubAddress obsahují cílovou URL nebo umístění v dokumentu, ScreenTip nastavuje tooltip při přejetí, OpenInNewWindow a IsImageMap jsou příznaky zobrazení a Target pojmenovává rám prohlížeče. Pro jednoduché případy DocumentBuilder.InsertHyperlink() vloží pole hypertextového odkazu přímo bez ručního vytváření objektu Field.
Křížové odkazy na záložky
FieldRef (pole REF), FieldPageRef (PAGEREF) a FieldNoteRef (NOTEREF) každé vyřeší obsah na pojmenované záložce pomocí jejich vlastnosti BookmarkName, přičemž InsertHyperlink a InsertRelativePosition řídí, zda je odkaz klikací a zda uvádí relativní pozici („above“ / „below“). FieldRef přidává možnosti číslování odstavců (InsertParagraphNumber, InsertParagraphNumberInFullContext, InsertParagraphNumberInRelativeContext, NumberSeparator) a IncludeNoteOrComment. FieldStyleRef (STYLEREF) místo toho vyhledá nejbližší odstavec formátovaný daným StyleName, s SearchFromBottom pro vyhledávání zpět od pozice pole. Záložky, na které tato pole odkazují, jsou vytvořeny pomocí DocumentBuilder.StartBookmark() a EndBookmark() a lze se k nim dostat pomocí MoveToBookmark(). FieldSet (SET) definuje hodnotu textu v záložce – BookmarkName a BookmarkText – kterou může jiné pole REF vyřešit.
Pole s vyzývanou hodnotou
FieldAsk (ASK) a FieldFillIn (FILLIN) požádá o hodnotu toho, kdo pole aktualizuje: PromptText se uživateli zobrazí, DefaultResponse poskytuje náhradní řešení, PromptOnceOnMailMerge omezuje opakované dotazování během mail merge. FieldAsk navíc ukládá svou odpověď na BookmarkName pro ostatní pole k odkazu. Viz průvodce polí for IFieldUserPromptRespondent, zpětné volání, které poskytuje odpovědi na tato pole programově místo interaktivního dotazování.
Externí a propojený obsah
FieldDde (DDE) a FieldDdeAuto (DDEAUTO) odkazují na obsah v jiné aplikaci pomocí ProgId, SourceFullName a SourceItem, s InsertAsText, InsertAsHtml, InsertAsPicture, InsertAsRtf, InsertAsUnicode a InsertAsBitmap vybírající vloženou reprezentaci a AutoUpdate / IsLinked řídí chování obnovy. FieldLink (LINK) je ekvivalent OLE-link, přidává FormatUpdateType. FieldImport (IMPORT) a FieldIncludePicture (INCLUDEPICTURE) načítají externí grafiku pomocí SourceFullName a GraphicFilter. FieldInclude (INCLUDE) a FieldIncludeText (INCLUDETEXT) načítají externí obsah dokumentu, s BookmarkName pro vymezení zahrnutého rozsahu a LockFields pro zabránění jeho obnovení; FieldIncludeText navíc podporuje zdroje XML prostřednictvím Encoding, MimeType, NamespaceMappings, XPath a XslTransformation.
AutoText a odkazy na glosář
FieldAutoText (AUTOTEXT), FieldAutoTextList (AUTOTEXTLIST) a FieldGlossary (GLOSSARY) všechny odkazují na pojmenovanou položku stavebního bloku prostřednictvím EntryName; FieldAutoTextList přidává ListStyle a ScreenTip pro její prezentaci ve stylu seznamu.
Pole citací a bibliografie
FieldCitation (CITATION) a FieldBibliography (BIBLIOGRAPHY) vykreslí obsah získaný z bibliografických dat dokumentu. FieldCitation.SourceTag (a alternativní AnotherSourceTag) identifikuje, který zdroj cituje, s Prefix, Suffix, PageNumber, VolumeNumber, a také Suppress* příznaky (SuppressAuthor, SuppressTitle, SuppressYear) řídící, jak je citace formátována. FieldBibliography.SourceTag, FilterLanguageId, a FormatLanguageId řídí, které zdroje se zobrazí ve vygenerované bibliografii a v jakém jazyce. Základní zdroj zaznamenává tato pole render – Source, Contributor, Person – jsou pokryty v průvodci bibliografií.
Pole citace a tvaru textu
FieldQuote (QUOTE) a FieldShape (SHAPE) oba vystavují vlastnost Text obsahující doslovný text pole – FieldQuote jej vkládá přímo na pozici pole, zatímco FieldShape jej spojuje s kódem pole nesoucím text v kreslicím tvaru.
Tipy a osvědčené postupy
- Upřednostněte
DocumentBuilder.InsertHyperlink()pro jednoduché vložení hypertextového odkazu; přejděte na přímé vytvořeníFieldHyperlinkpouze tehdy, když potřebujete vlastnosti jakoScreenTipneboIsImageMap, které zkratka builderu neodhaluje. FieldRef,FieldPageRef,FieldNoteRefaFieldSetvšechny koordinují přesBookmarkName– ujistěte se, že cílová záložka existuje (prostřednictvímDocumentBuilder.StartBookmark()/EndBookmark()), než bude aktualizováno pole, které na ni odkazuje.- Nastavení
FieldOptions.UserPromptRespondent(viz průvodce polí) před aktualizací dokumentu obsahujícíhoFieldAskorFieldFillInpole v automatizované pipeline. FieldDdeaFieldDdeAutomodelují starý Windows OLE mechanismus propojení – považujteAutoUpdateaIsLinkedza informativní při zpracování dokumentů mimo Windows, protože externí aplikace, ze které by se normálně obnovovaly, není k dispozici.- Pole citací a bibliografie se vykreslí správně až poté, co podkladové
Sourcezáznamy existují – viz průvodce bibliografií pro jejich vytvoření.
Časté problémy
| Problém | Příčina | Oprava |
|---|---|---|
REF / PAGEREF / NOTEREF pole zobrazuje chybový výsledek | Cíl BookmarkName neexistuje v dokumentu | Vytvořte záložku s DocumentBuilder.StartBookmark() / EndBookmark() před aktualizací pole |
Pole ASK / FILLIN blokuje nehlídanou aktualizaci | Žádný IFieldUserPromptRespondent není přiřazen | Přiřaďte FieldOptions.UserPromptRespondent nebo nastavte DefaultResponse v poli |
Pole CITATION nebo BIBLIOGRAPHY vykreslí prázdné | SourceTag neodpovídá žádnému Source v bibliografických datech dokumentu | Přidejte odpovídající Source – viz průvodce bibliografií |
DDE / DDEAUTO / LINK pole se neobnovuje | Tyto odkazují na externí OLE zdroj, který není v aktuálním prostředí k dispozici | Očekáváno mimo původní kontext Windows/OLE – považujte uložený Result za poslední známou hodnotu |
FAQ
Jaký je rozdíl mezi FieldRef a FieldStyleRef?
FieldRef odkazuje na obsah u pojmenované záložky (BookmarkName); FieldStyleRef naproti tomu odkazuje na nejbližší odstavec formátovaný daným StyleName, nezávisle na záložkách.
Jak vložit jednoduchý hyperodkaz, aniž bych ručně vytvářel Field?
Zavolejte DocumentBuilder.InsertHyperlink().
Jsou tyto třídy odkazových a referenčních polí v samostatném jmenném prostoru od ostatních polí?
Ne – FieldHyperlink, FieldRef, FieldCitation, a zbytek tříd na této stránce je obyčejný Field podtřídy v Aspose.Words.Fields jmenném prostoru, stejný jmenný prostor pokrytý v the průvodce polí.
Jak souvisí pole citací s modelem dat bibliografie?
FieldCitation and FieldBibliography vykreslit obsah vyhledáním SourceTag proti Source záznamy popsané na průvodce bibliografií – třídy polí zpracovávají vykreslování a Source / Contributor třídy uchovávají podkladová data.
API Reference Shrnutí
| Třída | Popis: |
|---|---|
FieldHyperlink | HYPERLINK pole; Address, SubAddress, ScreenTip, OpenInNewWindow |
FieldRef / FieldPageRef / FieldNoteRef | REF / PAGEREF / NOTEREF pole; vyřešte obsah na BookmarkName |
FieldStyleRef | pole STYLEREF; vrací nejbližší odstavec v daném stylu |
FieldSet | pole SET; definuje záložkovou textovou hodnotu pro REF, kterou lze vyřešit |
FieldAsk / FieldFillIn | ASK / FILLIN pole; vyzve k zadání hodnoty během aktualizace |
FieldDde / FieldDdeAuto / FieldLink | DDE / DDEAUTO / LINK pole; starý OLE propojený externí obsah |
FieldImport / FieldIncludePicture | IMPORT / INCLUDEPICTURE pole; externí grafický obsah |
FieldInclude / FieldIncludeText | INCLUDE / INCLUDETEXT pole; externí dokument nebo XML obsah |
FieldAutoText / FieldAutoTextList / FieldGlossary | AUTOTEXT / AUTOTEXTLIST / GLOSSARY pole; odkaz na položky stavebních bloků |
FieldCitation / FieldBibliography | CITATION / BIBLIOGRAPHY pole; vykreslit data zdrojů bibliografie |
FieldQuote / FieldShape | QUOTE / SHAPE pole; doslovný text pole |
DocumentBuilder.InsertHyperlink | Zkratka pro vložení hypertextového odkazu na vyšší úrovni |
DocumentBuilder.StartBookmark / EndBookmark / MoveToBookmark | Vytváření záložek a navigace pro referenční cíle |