Cum să lucraţi cu Bibliografia în .NET
Acest ghid arată cum să construiți datele sursei de citare din spatele funcției de bibliografie din Word în Aspose.Words FOSS pentru .NET, utilizând Source, Contributor, Person, și Corporate clase în Aspose.Words.Bibliography spațiu de nume. Acoperă crearea înregistrărilor de surse, alegerea tipului de sursă potrivit, atribuirea contribuitorilor individuali și corporativi și adăugarea surselor astfel încât CITATION and BIBLIOGRAPHY câmpurile pot să le rezolve.
Ghid pas cu pas
Pasul 1: Instalaţi pachetul
Aspose.Words FOSS pentru .NET nu publică încă un pachet NuGet – construiţi biblioteca din sursă în schimb. Clonaţi https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git, apoi construiţi Aspose.Words.sln în configuraţia Release cu SDK-ul .NET și referinţaţi asamblarea Aspose.Words rezultată din proiectul dumneavoastră. Biblioteca vizează .NET Standard 2.0, astfel că rulează pe .NET Framework 4.6.2+ și .NET 6/8/10.
Pasul 2: Importaţi clasele necesare
Adăugaţi o directivă using Aspose.Words; pentru Document și o directivă using Aspose.Words.Bibliography; pentru Source, SourceType, Contributor, ContributorCollection, Person, PersonCollection și Corporate.
Pasul 3: Accesează datele bibliografice ale documentului
Document.Bibliography returnează o instanță Bibliography. Proprietatea sa Sources este un IList<Source> care conține fiecare înregistrare sursă disponibilă pentru document, iar BibliographyStyle înregistrează numele stilului de citare – de exemplu APA sau MLA – care ar trebui aplicat când un câmp BIBLIOGRAPHY este actualizat.
Pasul 4: Creează o înregistrare de sursă
Construiește un Source cu Source(tag, sourceType): Tag este identificatorul scurt pe care FieldCitation.SourceTag și FieldBibliography.SourceTag îl vor compara mai târziu, iar SourceType este o valoare enum care identifică tipul de sursă – Book, BookSection, JournalArticle, ArticleInAPeriodical, ConferenceProceedings, Report, Patent, Case, InternetSite, DocumentFromInternetSite, Interview, Film, SoundRecording, Performance, Art, Electronic sau Misc. Atribuie fiecărui Source un Tag unic – este singura valoare pe care câmpurile de citare o folosesc pentru a găsi înregistrarea corectă.
Pasul 5: Populează câmpurile pentru tipul de sursă ales
Dincolo de Title și ShortTitle, Source expune zeci de câmpuri specifice categoriei – completează doar pe cele relevante pentru SourceType ales. Sursele de carte folosesc BookTitle, Edition, NumberVolumes, Volume, Pages și ChapterNumber. Sursele periodice folosesc JournalName, PeriodicalTitle, PublicationTitle și Issue. Sursele web folosesc InternetSiteTitle, Url, DayAccessed, MonthAccessed și YearAccessed. Sursele juridice folosesc CaseNumber, AbbreviatedCaseNumber, Court și Reporter. Sursele de înregistrare și difuzare folosesc AlbumTitle, Broadcaster, BroadcastTitle, RecordingNumber, Medium, ProductionCompany, Distributor, Station și Theater. Câmpurile cu scop general se aplică la majoritatea tipurilor de sursă: Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder și Lcid.
Pasul 6: Atribuie colaboratori individuali
Source.Contributors returnează un ContributorCollection cu o proprietate pentru fiecare rol de contributor – Author, Editor, Translator, Compiler, Composer, Conductor, Counsel, Director, Interviewee, Interviewer, Inventor, Performer, Producer, Writer, Artist și BookAuthor – fiecare tipizat ca clasa de bază abstractă Contributor. Atribuie un Person (construit din Last, First, Middle) unei proprietăți de rol pentru un singur individ numit.
Pasul 7: Atribuiți Contributori Multipli sau Corporativi
Când un rol are mai mult de un contributor individual, atribuiți un PersonCollection în loc de un singur Person – PersonCollection derivă, de asemenea, din Contributor și implementează IEnumerable<Person>, cu Add(), Remove(), RemoveAt(), Clear(), Contains() și Count pentru gestionarea membrilor săi. Când contributorul este o organizație în loc de o persoană, atribuiți un Corporate (construit din Name) proprietății rolului în schimb. Person, PersonCollection și Corporate satisfac toate aceeași proprietate de rol de tip Contributor, așa că alegeți cea care se potrivește sursei.
Pasul 8: Adăugați Sursa pentru ca Câmpurile de Citare să o Poată Rezolva
Adăugați fiecare complet Source to Document.Bibliography.Sources înainte de a actualiza orice CITATION or BIBLIOGRAPHY câmp care îl referențiază – o sursă care a fost construită, dar niciodată adăugată, nu are nimic la care să se rezolve câmpul de referință. Source înregistrările furnizează doar date; ele nu generează textul de citare sau bibliografie în sine. Redarea are loc prin FieldCitation and FieldBibliography, acoperit în ghidul de legături și referințe.
Probleme comune și remedii
Un câmp CITATION sau BIBLIOGRAPHY nu se rezolvă The Source.Tag nu se potrivește exact cu câmpul SourceTag.Confirmați că etichetele se potrivesc și că Source a fost adăugat efectiv la Document.Bibliography.Sources.
Tip greșit de colaborator atribuit unui rol A Person a fost atribuită unde există mai mulți colaboratori, sau invers. Folosiți PersonCollection pentru mai multe persoane într-un singur rol, Person pentru o singură persoană, și Corporate pentru o organizație.
Câmpurile sursei par inconsistente pentru tipul său Câmpuri pentru un alt SourceType au fost completate – de exemplu, câmpuri web precum Url and DayAccessed setat pe un Book sursă. Completați doar câmpurile relevante pentru SourceType.
O sursă cu mai mulți autori afișează doar un nume Un singur Person a fost atribuită la Author în loc de un PersonCollection. Creează un PersonCollection, adaugă fiecare Person with Add(), și atribuie colecția la proprietatea role.
BibliographyStyle nu se potrivește cu formatul de citare pe care îl aștept Bibliography.BibliographyStyle înregistrează numele stilului de citare de aplicat – menține-l consecvent cu modul în care documentul FieldCitation câmpurile se așteaptă ca ieșirea lor să fie formatată.
Întrebări frecvente
Cum adaug o sursă de carte cu un singur autor?
Creaţi un Source cu SourceType.Book, setaţi BookTitle, Publisher, Year și câmpurile conexe, apoi atribuiţi un Person lui Source.Contributors.Author.
Cum adaug o sursă cu mai mulţi autori?
Atribuiţi un PersonCollection – populat cu instanţe Person prin Add() – proprietăţii de rol ContributorCollection relevantă, cum ar fi Author.
Cum pot să citesc o organizație în loc de un individ?
Atribuiți o instanță Corporate, construită cu Name organizației, proprietății role ContributorCollection în loc de un Person sau PersonCollection.
Unde apar în realitate înregistrările Source în documentul redat?
Nu se redau singure – FieldCitation and FieldBibliography câmpurile redau conținut construit din ele, potrivit de SourceTag. Vezi ghidul de linkuri și referințe.
Ce identifică o înregistrare Source pentru câmpurile care o citează?
Source.Tag, setat în constructorul Source(tag, sourceType) – FieldCitation.SourceTag și FieldBibliography.SourceTag se potrivesc cu această valoare exactă.