Arbeiten mit Links und Referenzen
Arbeiten mit Links und Verweisen
Word-Link- und Querverweis-Feldcodes – HYPERLINK, REF, PAGEREF, NOTEREF, STYLEREF, SET, ASK, FILLIN, CITATION, BIBLIOGRAPHY, und mehr – werden jeweils als ein dediziertes Field Unterklasse in Aspose.Words FOSS for .NET. All diese Klassen befinden sich im Aspose.Words.Fields Namespace zusammen mit allen anderen Feldtypen; diese Seite gruppiert die, die speziell mit Links, Querverweisen, abgefragten Werten und Zitaten zu tun haben, und erläutert, was jede von ihnen bereitstellt.
Hyperlinks
FieldHyperlink stellt das HYPERLINK-Feld dar: Address und SubAddress enthalten die Ziel-URL oder die Position im Dokument, ScreenTip legt den Tooltip beim Darüberfahren fest, OpenInNewWindow und IsImageMap sind Anzeige-Flags, und Target benennt einen Browser-Frame. Für einfache Fälle fügt DocumentBuilder.InsertHyperlink() ein Hyperlink-Feld direkt ein, ohne das Field-Objekt von Hand zu erstellen.
Querverweise zu Lesezeichen
FieldRef (das REF-Feld), FieldPageRef (PAGEREF) und FieldNoteRef (NOTEREF) lösen jeweils Inhalte an einem benannten Lesezeichen über ihre BookmarkName-Eigenschaft auf, wobei InsertHyperlink und InsertRelativePosition steuern, ob die Referenz anklickbar ist und ob sie eine relative Position („über“ / „unter“) meldet. FieldRef fügt Absatznummerierungsoptionen (InsertParagraphNumber, InsertParagraphNumberInFullContext, InsertParagraphNumberInRelativeContext, NumberSeparator) und IncludeNoteOrComment hinzu. FieldStyleRef (STYLEREF) löst stattdessen den nächsten Absatz, der mit einem angegebenen StyleName formatiert ist, auf, wobei SearchFromBottom verwendet wird, um rückwärts von der Feldposition zu suchen. Die Lesezeichen, auf die diese Felder verweisen, werden mit DocumentBuilder.StartBookmark() und EndBookmark() erstellt und können mit MoveToBookmark() angesprungen werden. FieldSet (SET) definiert einen als Lesezeichen markierten Textwert – BookmarkName und BookmarkText – den ein REF-Feld an anderer Stelle auflösen kann.
Felder für abgefragte Werte
FieldAsk (ASK) und FieldFillIn (FILLIN) fordert einen Wert von demjenigen an, der das Feld aktualisiert: PromptText wird dem Benutzer angezeigt, DefaultResponse stellt einen Fallback bereit, und PromptOnceOnMailMerge begrenzt wiederholte Eingabeaufforderungen während eines Seriendrucks. FieldAsk speichert seine Antwort zusätzlich unter BookmarkName für andere Felder zur Referenz. Siehe die Felder-Leitfaden for IFieldUserPromptRespondent, der Callback, der Antworten für diese Felder programmatisch liefert, anstatt interaktiv zu fragen.
Externer und verknüpfter Inhalt
FieldDde (DDE) und FieldDdeAuto (DDEAUTO) verlinken zu Inhalten in einer anderen Anwendung über ProgId, SourceFullName und SourceItem, wobei InsertAsText, InsertAsHtml, InsertAsPicture, InsertAsRtf, InsertAsUnicode und InsertAsBitmap die eingefügte Darstellung auswählen, und AutoUpdate / IsLinked das Aktualisierungsverhalten steuern. FieldLink (LINK) ist das OLE-Link-Äquivalent und fügt FormatUpdateType hinzu. FieldImport (IMPORT) und FieldIncludePicture (INCLUDEPICTURE) ziehen eine externe Grafik über SourceFullName und GraphicFilter ein. FieldInclude (INCLUDE) und FieldIncludeText (INCLUDETEXT) ziehen externen Dokumentinhalt ein, wobei BookmarkName den einzuschließenden Bereich definiert und LockFields verhindert, dass er aktualisiert wird; FieldIncludeText unterstützt zusätzlich XML-Quellen über Encoding, MimeType, NamespaceMappings, XPath und XslTransformation.
AutoText und Glossarbezüge
FieldAutoText (AUTOTEXT), FieldAutoTextList (AUTOTEXTLIST) und FieldGlossary (GLOSSARY) verweisen alle über EntryName auf einen benannten Baustein-Eintrag; FieldAutoTextList fügt ListStyle und ScreenTip für seine Listenstil-Darstellung hinzu.
Zitations- und Bibliografiefelder
FieldCitation (CITATION) und FieldBibliography (BIBLIOGRAPHY) rendert Inhalte, die aus den Bibliographiedaten des Dokuments stammen. FieldCitation.SourceTag (und die alternative AnotherSourceTag) identifiziert, welche Quelle zitiert wird, mit Prefix, Suffix, PageNumber, VolumeNumber, und das Suppress* Flags (SuppressAuthor, SuppressTitle, SuppressYear) steuern, wie das Zitat formatiert wird. FieldBibliography.SourceTag, FilterLanguageId, und FormatLanguageId steuern, welche Quellen in der gerenderten Bibliographie erscheinen und in welcher Sprache. Die zugrunde liegenden Quelldaten zeichnen diese Felder auf – Source, Contributor, Person – werden im Bibliografie-Leitfaden.
Zitat- und Formtextfelder
FieldQuote (QUOTE) und FieldShape (SHAPE) stellen beide eine Text-Eigenschaft bereit, die wörtlichen Feldtext enthält – FieldQuote fügt ihn direkt an der Feldposition ein, während FieldShape ihn mit dem Feldcode eines Zeichenobjekts, das Text trägt, verknüpft.
Tipps und bewährte Verfahren
- Bevorzugen Sie
DocumentBuilder.InsertHyperlink()für die einfache Einfügung von Hyperlinks; greifen Sie nur dann direkt zu einerFieldHyperlinkzurück, wenn Sie Eigenschaften wieScreenTipoderIsImageMapbenötigen, die die Builder-Kurzbefehle nicht bereitstellen. FieldRef,FieldPageRef,FieldNoteRefundFieldSetkoordinieren alle überBookmarkName– stellen Sie sicher, dass das Ziel-Lesezeichen existiert (überDocumentBuilder.StartBookmark()/EndBookmark()), bevor das Feld, das darauf verweist, aktualisiert wird.- Festlegen
FieldOptions.UserPromptRespondent(siehe die Felder-Leitfaden) bevor ein Dokument aktualisiert wird, dasFieldAskorFieldFillInFelder in einer unbeaufsichtigten Pipeline. FieldDdeundFieldDdeAutomodellieren einen veralteten Windows-OLE-Verknüpfungsmechanismus – behandeln SieAutoUpdateundIsLinkedals informativ, wenn Sie Dokumente außerhalb von Windows verarbeiten, da die externe Anwendung, von der sie normalerweise aktualisiert würden, nicht verfügbar ist.- Zitations- und Bibliografiefelder werden erst korrekt gerendert, wenn die zugrunde liegende
SourceDatensätze existieren – siehe die Bibliografie-Leitfaden zum Erstellen dieser.
Häufige Probleme
| Problem | Ursache | Lösung |
|---|---|---|
REF / PAGEREF / NOTEREF Feld zeigt ein Fehlresultat | Das BookmarkName, auf das es abzielt, existiert nicht im Dokument | Erstelle das Lesezeichen mit DocumentBuilder.StartBookmark() / EndBookmark(), bevor das Feld aktualisiert wird |
ASK / FILLIN-Feld blockiert ein unbeaufsichtigtes Update | Kein IFieldUserPromptRespondent ist zugewiesen | Weisen Sie FieldOptions.UserPromptRespondent zu oder setzen Sie DefaultResponse im Feld |
CITATION oder BIBLIOGRAPHY-Feld wird leer angezeigt | Der SourceTag stimmt mit keinem Source in den bibliografischen Daten des Dokuments überein | Füge die Übereinstimmung hinzu Source – siehe die Bibliografie-Leitfaden |
DDE / DDEAUTO / LINK Feld wird nicht aktualisiert | Diese verweisen auf eine externe OLE-Quelle, die in der aktuellen Umgebung nicht verfügbar ist. | Erwartet außerhalb des ursprünglichen Windows/OLE-Kontexts – behandeln Sie das gespeicherte Result als den zuletzt bekannten Wert. |
FAQ
Was ist der Unterschied zwischen FieldRef und FieldStyleRef?
FieldRef löst auf Inhalt an einem benannten Lesezeichen (BookmarkName) auf; FieldStyleRef hingegen löst auf den nächstgelegenen Absatz, der mit einem gegebenen StyleName formatiert ist, unabhängig von Lesezeichen, auf.
Wie füge ich einen einfachen Hyperlink ein, ohne einen Field von Hand zu erstellen?
Rufe DocumentBuilder.InsertHyperlink() auf.
Sind diese Link- und Referenzfeldklassen in einem separaten Namensraum von anderen Feldern?
Nein – FieldHyperlink, FieldRef, FieldCitation, und die restlichen Klassen auf dieser Seite sind gewöhnlich Field Unterklassen im Aspose.Words.Fields Namensraum, derselbe Namensraum, der im Felder-Leitfaden.
Wie beziehen sich Zitierfelder auf das Bibliographie-Datenmodell?
FieldCitation and FieldBibliography Inhalt rendern, indem nachgeschlagen wird SourceTag gegen die Source Datensätze, die auf dem beschriebenen Bibliografieführer – die Feldklassen übernehmen das Rendering, und die Source / Contributor Klassen enthalten die zugrunde liegenden Daten.
API Reference Zusammenfassung
| Klasse | Beschreibung |
|---|---|
FieldHyperlink | HYPERLINK Feld; Address, SubAddress, ScreenTip, OpenInNewWindow |
FieldRef / FieldPageRef / FieldNoteRef | REF / PAGEREF / NOTEREF Felder; Inhalt an einem BookmarkName auflösen |
FieldStyleRef | STYLEREF Feld; löst sich in den nächsten Absatz im angegebenen Stil auf |
FieldSet | SET Feld; definiert einen Lesezeichen-Textwert für REF zum Auflösen |
FieldAsk / FieldFillIn | ASK / FILLIN Felder; während der Aktualisierung nach einem Wert fragen |
FieldDde / FieldDdeAuto / FieldLink | DDE / DDEAUTO / LINK Felder; legacy OLE-verbundener externer Inhalt |
FieldImport / FieldIncludePicture | IMPORT / INCLUDEPICTURE Felder; externer Grafikinhalt |
FieldInclude / FieldIncludeText | INCLUDE / INCLUDETEXT Felder; externes Dokument oder XML Inhalt |
FieldAutoText / FieldAutoTextList / FieldGlossary | AUTOTEXT / AUTOTEXTLIST / GLOSSARY Felder; Referenz-Baustein-Einträge |
FieldCitation / FieldBibliography | CITATION / BIBLIOGRAPHY Felder; Bibliographie-Quelldaten rendern |
FieldQuote / FieldShape | QUOTE / SHAPE Felder; wörtlicher Feldtext |
DocumentBuilder.InsertHyperlink | Fortgeschrittener Hyperlink-Einfüge-Shortcut |
DocumentBuilder.StartBookmark / EndBookmark / MoveToBookmark | Erstellung und Navigation von Lesezeichen für Referenzziele |