Overzicht velden

Meestal een veld, wanneer ingevoegd in Microsoft Word, bevat al een actuele waarde. Als het veld bijvoorbeeld een formule of een paginanummer is, bevat het een correcte berekende waarde voor de gegeven versie van het document. Maar als je een toepassing hebt die een document aanmaakt of wijzigt met velden (bijvoorbeeld twee documenten combineert of met gegevens bevolkt) dan moeten alle velden idealiter worden bijgewerkt om het document bruikbaar te maken.

Een veld bestaat uit:

fields-aspose-words

  • De veldstart- en scheidingsknooppunten worden gebruikt om de inhoud van de veldcode te omvatten (normaal gesproken als platte tekst)
  • De veldscheiding en het veldeinde omvatten het veldresultaat. Dit kan bestaan uit verschillende soorten content, variërend van tekstreeksen tot paragrafen tot tabellen.
  • Sommige velden kunnen geen scheidingsteken hebben wat betekent dat de gehele inhoud de veldcode vormt.
  • De veldcode definieert het gedrag van het veld en bestaat uit de veldidentificatie en vaak andere parameters zoals veldnaam en switches.
  • Het veldresultaat bevat de meest recente evaluatie van het veld. Deze waarde wordt opgeslagen in het veld resultaat en is wat wordt weergegeven aan de gebruiker. Sommige velden hebben mogelijk geen veldresultaat, zodat er niets in het document wordt weergegeven. Ook sommige velden kunnen nog niet worden bijgewerkt, dus zal ook geen veldresultaat hebben.

Hier is een overzicht van hoe een veld wordt opgeslagen in Aspose.Words door gebruik te maken van het voorbeeld van “DocumentExplorer.” Github.

document-explorer-aspose-words

Aspose.Words is een klasse bibliotheek ontworpen voor server-side verwerking van Microsoft Word documenteert en ondersteunt velden op de volgende manieren:

  • Alle velden in een document worden bewaard tijdens open/opslaan en conversies.
  • Het is mogelijk om de resultaten van enkele van de meest populaire velden bij te werken.

Velden in Microsoft Word

Velden in Microsoft Word documenten zijn complex. Er zijn meer dan 50 veldtypes (elk heeft zijn eigen resultaat berekeningsprocedure nodig), formules en expressies, bladwijzers en referenties, functies en diverse switches. Velden kunnen ook genest worden. Normaal gesproken wordt bij het openen van een document het veldresultaat (de waarde van het veld) getoond voor alle velden in het document. U kunt het weergeven van veldresultaat of veldcodes in schakelen Microsoft Word voor alle velden door in te drukken ALT+F9.

Veldcode Veldresultaat
field-code-result-aspose-words todo:image_alt_text

Velden invoegen in Microsoft Word

Een veld invoegen in Microsoft Word:

  1. Klik op de Insert menu.
  2. Klik op de Quick Parts keuzemenu
  3. Selecteren Field
  4. U krijgt een scherm gepresenteerd waarmee u de details van het veld kunt invoeren. Aan de linkerkant krijgt u een lijst van de mogelijke velden en aan de rechterkant is een scherm om de eigenschappen van het veld visueel te bewerken.
    field-edit-aspose-words
  5. Daarnaast kunt u de Field Codes knop waarmee u de veldcode direct kunt schrijven.
    field-properties-aspose-words
  6. Schakelaars kunnen ook worden ingevoegd met behulp van de Options knop
    field-options-aspose-words
  7. Vul de gewenste velden in met de juiste informatie en druk vervolgens op Ok.
  8. Het veld wordt ingevoegd in het document op de huidige cursorpositie.
    insert-field-aspose-words

Velden bijwerken in Microsoft Word

Een enkel veld bijwerken in Microsoft Word:

  1. Verplaats de caret in het veld dat u wilt bijwerken.
  2. Drukken F9 om het veld bij te werken.

Alle velden in bijwerken Microsoft Word:

  1. Drukken Druk op Ctrl+A om alle inhoud in het document te selecteren.
  2. Drukken F9 alle velden in de selectie bijwerken.

Schakelen tussen weergave van veldcode en veldresultaat

Om veldcodes van één veld in te schakelen Microsoft Word:

  1. Verplaats de caret naar het gewenste veld.
  2. Drukken SHIFT+F9 om de veldcode alleen voor dit veld te schakelen.

Veldcodes van alle velden in schakelen Microsoft Word:

  1. Drukken ALT+F9

Velden omzetten naar statische tekst in Microsoft Word

Een dynamisch veld omzetten naar statische tekst in Microsoft Word:

  1. Verplaats de caret naar het veld dat je wilt converteren.
  2. Drukken Ctrl+Shift+F9 de velden omzetten naar statische tekst.

Een veld verwijderen in Microsoft Word

Een veld in verwijderen Microsoft Word:

  1. Selecteer de volledige inhoud van het veld. Als veldcodes worden weergegeven dan moeten ook de openings- en eindehaakjes worden geselecteerd.
  2. Drukken Delete om het hele veld te verwijderen.

Velden in Aspose.Words

Wanneer een document geladen wordt Aspose.Words de velden van het document worden geladen in de Aspose.Words Document Object Model als een reeks afzonderlijke componenten (nodes). Een enkel veld wordt geladen als een verzameling van FieldStart, FieldSeparator en FieldEnd knooppunten samen met de inhoud tussen deze knooppunten. Als een veld geen veldresultaat heeft dan zal er geen FieldSeparator Node. Al deze knooppunten zijn altijd inline (als kinderen van Paragraph of SmartTag.

De inhoud van de veldcode wordt opgeslagen als Run nodes tussen de FieldStart en FieldSeparator. Het veld resultaat wordt opgeslagen tussen de FieldSeparator en FieldEnd knooppunten en kunnen bestaan uit verschillende soorten inhoud. Normaal gesproken bevat het veldresultaat alleen tekst die bestaat uit Run knooppunten, maar het is mogelijk voor de FieldEnd knooppunt te worden geplaatst in een volledig andere paragraaf, en dus het maken van het veld resultaat bestaat uit blok niveau knooppunten zoals Table en Paragraph Knooppunten ook.

In Aspose.Words elk van de FieldXXX nodes afkomstig van FieldChar. Deze klasse biedt een eigenschap om het type veld dat wordt weergegeven door de opgegeven knooppunt te controleren via de FieldChar.field_type eigendom. Bijvoorbeeld FieldType.FIELD_MERGE_FIELD vertegenwoordigt een merge-veld in het document.

Velden ondersteund tijdens bijwerken

Berekening van de volgende velden wordt ondersteund in de huidige versie van Aspose.Words:

  • = (formuleveld)
  • ADDRESSBLOCK
  • AUTHOR
  • COMPARE
  • CREATEDATE
  • DATE
  • DOCPROPERTY
  • DOCVARIABLE
  • GREETINGLINE
  • IF
  • INCLUDETEXT
  • MERGEFIELD
  • MERGEREC
  • MERGESEQ
  • NEXT
  • NEXTIF
  • NUMPAGES
  • PAGE
  • PAGEREF
  • REF
  • SECTION
  • SECTIONPAGES
  • SEQ
  • SET
  • STYLEREF
  • TIME
  • TITLE
  • TOA
  • TOC (inclusief TOT en TOF)
  • TC

Verfijnde verwerking

Aspose.Words volgt de weg Microsoft Word verwerkt velden en verwerkt als gevolg daarvan correct:

  • geneste velden : IF { =OR({ COMPARE { =2.5 +PRODUCT(3,5 ,8.4) } > 4}, { =2/2 }) } = 1 "Credit not acceptable" "Credit acceptable"
  • Veldargument kan het resultaat zijn van een genest veld.
  • Velden kunnen zowel binnen een veldcode als in het veldresultaat worden genest.
  • Spaties/geen spaties, citaten/geen aanhalingstekens, ontsnappingstekens in velden enz.: MERGEFIELD \f"Text after""Field \n\ame with \" and \\\ and \\\*"\bTextBefor\e
  • Velden die over meerdere paragrafen gaan.

Formulevelden

Aspose.Words een zeer ernstige toepassing van de formulemotor en ondersteunt het volgende:

  • Rekenkundige en logische operators: =(54+4*(6-77)-(5))+(-6-5)/4/5
  • Functies: =ABS(-01.4)+2.645/(5.6^3.5)+776457 \\\# "#,##0"
  • Verwijzingen naar bladwijzers: =IF(C>4, 5,ABS(A)*.76) +3.85
  • Nummeropmaak schakelaars: =00000000 \\\# "$#,##0.00;($#,##0.00)"

De volgende functies in expressies worden ondersteund: ABS, AND, AVERAGE, COUNT, DEFINED, FALSE, IF, INT, MAX, MIN, MOD, NOT, OR, PRODUCT, ROUND, SIGN, SUM, TRUE.

IF en COMPARE Velden

Een deel van de IF uitdrukkingen die Aspose.Words kan gemakkelijk berekenen moet u een idee geven van hoe krachtig deze functie is:

  • IF 3 > 5.7^4+MAX(4,3) True False
  • IF "abcd" > "abc" True False
  • IF "?ab*" = "1abdsg" True False
  • IF 4 = "2*2" True False
  • COMPARE 3+5/34 < 4.6/3/2

DATE en TIME Velden

Aspose.Words ondersteunt alle datum en tijd formattering switches beschikbaar in Microsoft Word, Enkele voorbeelden zijn:

  • DATE @ "d-MMM-yy"
  • DATE @ "d/MM/yyyy h:mm am/pm

Mail Merge Velden

Aspose.Words legt geen beperking op aan de complexiteit van Mail Merge velden in uw documenten en ondersteunt geneste IF en formule velden en kan zelfs berekenen de merge veld

Enkele voorbeelden van Mail Merge velden die Aspose.Words ondersteunt:

  • Mail merge veldschakelaars: MERGEFIELD FirstName \\\\\\\\* FirstCap \b "Mr. "
  • geneste velden samenvoegen in een formule: IF { MERGEFIELDValue1 } >= {MERGEFIELD Value2 } True False
  • Bereken de naam van het merge-veld op runtime: MERGEFIELD { ALS{MERGEFIELDValue1 } >= {MERGEFIELD Value2 } FirstName"LastName" }
  • Voorwaardelijke overgang naar de volgende record in de gegevensbron: NEXTIF { MERGEFIELDValue1 } <= { =IF(-2.45 >= 6*{MERGEFIELD Value2 }, 2, -.45) }

Formaatschakelaars

Een veld in een document kan formatteringsschakelaars bevatten die aangeven hoe de resulterende waarde geformatteerd moet worden. Aspose.Words ondersteunt de volgende format switches:

  • @ - datum en tijd opmaak
  • \# - nummeropmaak
  • \\\\* Caps
  • \\\\* EersteCap
  • \\\\* Lager
  • \\\\* Boven
  • \\\\* CHARFORMAT-formaat resultaat volgens het eerste teken van de veldcode.
  • \\\\* MERGEFORMAT-formaat resultaat volgens hoe het oude resultaat is geformatteerd.

Date en nummeropmaak in velden

Wanneer Aspose.Words Berekent een veldresultaat, het moet vaak een string verwerken in een getal of datum waarde en ook om het terug te formatteren naar een string. Standaard Aspose.Words gebruikt de huidige draadcultuur voor het uitvoeren van ontleden en formatteren bij het berekenen van veldwaarden tijdens veldupdate en mail merge. Er zijn ook opties in de vorm van de FieldOptions klasse die verdere controle mogelijk maakt over welke cultuur tijdens veldupdate wordt gebruikt.

Formatteren met de huidige discussiecultuur

Om de cultuur die tijdens veldberekening wordt gebruikt te controleren, gebruik je de lokale.setlocale methode om de cultuur van uw keuze te bepalen alvorens veldberekening aan te roepen. Hieronder laat je zien hoe je de cultuur kunt veranderen die gebruikt wordt in het formatteren van velden tijdens de update.

Het gebruik van de huidige cultuur om velden te formatteren stelt een systeem in staat om eenvoudig en consequent te controleren hoe alle velden in het document worden geformatteerd tijdens veldupdate.

Formatteren met behulp van de cultuur in het document

Aan de andere kant, Microsoft Word formatteert elk individueel veld op basis van de taal van de tekst in het veld (in het bijzonder, de runs van de veldcode). Soms tijdens het bijwerken van het veld kan dit het gewenste gedrag zijn, bijvoorbeeld als je documenten hebt geglobaliseerd die inhoud bevatten bestaande uit vele verschillende talen en wil dat elke velden om de locale gebruikt uit de tekst te eren. Aspose.Words ondersteunt ook deze functionaliteit.

De Document klasse geeft a field_options eigenschap die leden bevat die kunnen worden gebruikt om te controleren hoe velden worden bijgewerkt in het document. Hieronder laat u zien hoe u kunt aangeven waar de cultuur gebruikt voor datumopmaak tijdens veldupdate en Mail Merge is gekozen uit.

Het vinden van de veldcode en het veldresultaat

Een veld dat wordt ingevoegd met behulp van DocumentBuilder.insert_field geeft a Field object. Dit is een gevel klasse die handige methoden biedt om snel dergelijke eigenschappen van een veld te vinden. Opmerking als u alleen op zoek bent naar de namen van merge velden in het document dan kunt u in plaats daarvan de ingebouwde methode gebruiken MailMerge.get_field_names. Onderstaand voorbeeld laat zien hoe namen van alle merge-velden in een document kunnen worden opgehaald.

Hoe verzamelvelden hernoemen

Onderstaand voorbeeld laat zien hoe je merge velden hernoemt in een Word-document.