Comment travailler avec la bibliographie dans .NET
Ce guide montre comment créer les données sources de citation derrière la fonction bibliographie de Word dans Aspose.Words FOSS pour .NET, en utilisant le Source, Contributor, Person, et Corporate classes dans le Aspose.Words.Bibliography espace de noms. Il couvre la création d’enregistrements source, le choix du type de source approprié, l’attribution de contributeurs individuels et d’entreprise, et l’ajout de sources afin que CITATION and BIBLIOGRAPHY les champs puissent les résoudre.
Guide étape par étape
Étape 1: Installer le package
Aspose.Words FOSS for .NET ne publie pas encore de package NuGet — construisez la bibliothèque à partir du code source à la place. Clonez https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git, puis compilez Aspose.Words.sln en configuration Release avec le SDK .NET et référencez l’assembly Aspose.Words résultant depuis votre projet. La bibliothèque cible .NET Standard 2.0, donc elle s’exécute sur .NET Framework 4.6.2+ et .NET 6/8/10.
Étape 2: Importer les classes requises
Ajoutez une directive using Aspose.Words; pour Document, et une directive using Aspose.Words.Bibliography; pour Source, SourceType, Contributor, ContributorCollection, Person, PersonCollection et Corporate.
Étape 3 : Accéder aux données bibliographiques du document
Document.Bibliography renvoie une instance de Bibliography. Sa propriété Sources est un(e) IList<Source> contenant chaque enregistrement source disponible pour le document, et BibliographyStyle enregistre le nom du style de citation – par exemple APA ou MLA – qui doit être appliqué lorsqu’un champ BIBLIOGRAPHY est mis à jour.
Étape 4 : Créer un enregistrement source
Construisez un Source avec Source(tag, sourceType) : Tag est le court identifiant que FieldCitation.SourceTag et FieldBibliography.SourceTag utilisent plus tard pour la correspondance, et SourceType est une valeur d’énumération identifiant le type de source – Book, BookSection, JournalArticle, ArticleInAPeriodical, ConferenceProceedings, Report, Patent, Case, InternetSite, DocumentFromInternetSite, Interview, Film, SoundRecording, Performance, Art, Electronic ou Misc. Donnez à chaque Source un Tag unique – c’est la seule valeur que les champs de citation utilisent pour trouver le bon enregistrement.
Étape 5 : Remplir les champs pour le type de source choisi
Au-delà de Title et ShortTitle, Source expose des dizaines de champs spécifiques à chaque catégorie – remplissez uniquement ceux pertinents pour le SourceType choisi. Les sources de livres utilisent BookTitle, Edition, NumberVolumes, Volume, Pages et ChapterNumber. Les sources de périodiques utilisent JournalName, PeriodicalTitle, PublicationTitle et Issue. Les sources Web utilisent InternetSiteTitle, Url, DayAccessed, MonthAccessed et YearAccessed. Les sources juridiques utilisent CaseNumber, AbbreviatedCaseNumber, Court et Reporter. Les sources d’enregistrement et de diffusion utilisent AlbumTitle, Broadcaster, BroadcastTitle, RecordingNumber, Medium, ProductionCompany, Distributor, Station et Theater. Les champs à usage général s’appliquent à la plupart des types de source : Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder et Lcid.
Étape 6 : Attribuer des contributeurs individuels
Source.Contributors renvoie un ContributorCollection avec une propriété par rôle de contributeur – Author, Editor, Translator, Compiler, Composer, Conductor, Counsel, Director, Interviewee, Interviewer, Inventor, Performer, Producer, Writer, Artist et BookAuthor – chacune typée comme la classe de base abstraite Contributor. Assignez un Person (construit à partir de Last, First, Middle) à une propriété de rôle pour un individu nommé.
Étape 7: attribuer des contributeurs multiples ou d’entreprise
Lorsqu’un rôle comporte plus d’un contributeur individuel, attribuez un PersonCollection au lieu d’un seul Person — PersonCollection dérive également de Contributor et implémente IEnumerable<Person>, avec Add(), Remove(), RemoveAt(), Clear(), Contains() et Count pour gérer ses membres. Lorsqu le contributeur est une organisation plutôt qu’une personne, attribuez un Corporate (construit à partir de son Name) à la propriété du rôle à la place. Person, PersonCollection et Corporate satisfont tous la même propriété de rôle de type Contributor, choisissez donc celle qui convient à la source.
Étape 8: ajoutez la source pour que les champs de citation puissent la résoudre
Ajoutez chaque élément complété Source to Document.Bibliography.Sources avant de mettre à jour quoi que ce soit CITATION or BIBLIOGRAPHY champ qui le référence – une source qui a été construite mais jamais ajoutée n’a rien auquel le champ de référence puisse se résoudre. Source les enregistrements ne fournissent que des données ; ils ne génèrent pas eux-mêmes le texte de citation ou de bibliographie. Le rendu se fait via FieldCitation and FieldBibliography, couvert dans le guide des liens et références.
Problèmes courants et solutions
Un champ CITATION ou BIBLIOGRAPHIE ne se résout pas Le Source.Tag ne correspond pas exactement au champ’s SourceTag. Confirmez que les balises correspondent, et que le Source a réellement été ajouté à Document.Bibliography.Sources.
Type de contributeur incorrect attribué à un rôle Un Person a été attribué lorsqu’il y a plusieurs contributeurs, ou inversement. Utilisez PersonCollection pour plusieurs individus dans un même rôle, Person pour un seul individu, et Corporate pour une organisation.
Les champs de la source semblent incohérents pour son type Champs pour un autre SourceType ont été remplis – par exemple, des champs web tels que Url and DayAccessed définis sur un Book source. Remplissez uniquement les champs pertinents pour le choisi SourceType.
Une source avec plusieurs auteurs n’affiche qu’un seul nom Un seul Person a été attribué à Author au lieu d’un PersonCollection. Créez un PersonCollection, ajoutez chaque Person with Add(), et attribuez la collection à la propriété role.
BibliographyStyle ne correspond pas au format de citation que j’attends Bibliography.BibliographyStyle enregistre le nom du style de citation à appliquer – gardez-le cohérent avec la façon dont le document FieldCitation les champs attendent leur sortie formatée.
Foire aux questions
Comment ajouter une source de livre avec un seul auteur?
Créez un Source avec SourceType.Book, définissez BookTitle, Publisher, Year et les champs associés, puis assignez un Person à Source.Contributors.Author.
Comment ajouter une source avec plusieurs auteurs?
Attribuez un PersonCollection – rempli avec des instances Person via Add() – à la propriété de rôle ContributorCollection pertinente, comme Author.
Comment citer une organisation au lieu d’un individu?
Attribuez une instance Corporate, construite avec le Name de l’organisation, à la propriété de rôle ContributorCollection au lieu d’un Person ou d’un PersonCollection.
Où les enregistrements Source apparaissent-ils réellement dans le document rendu?
Ils ne se rendent pas seuls – FieldCitation and FieldBibliography les champs affichent le contenu construit à partir d’eux, correspondants à SourceTag. Voir le guide des liens et références.
Qu’est-ce qui identifie un enregistrement Source aux champs qui le citent?
Source.Tag, défini dans le constructeur Source(tag, sourceType) — FieldCitation.SourceTag et FieldBibliography.SourceTag correspondent à cette valeur exacte.