Cách làm việc với Thư mục trong .NET
Hướng dẫn này cho thấy cách xây dựng dữ liệu nguồn trích dẫn phía sau tính năng thư mục của Word trong Aspose.Words FOSS cho .NET, sử dụng Source, Contributor, Person, và Corporate các lớp trong Aspose.Words.Bibliography không gian tên. Nó bao gồm việc tạo bản ghi nguồn, chọn loại nguồn phù hợp, chỉ định các cộng tác viên cá nhân và doanh nghiệp, và thêm các nguồn để CITATION and BIBLIOGRAPHY các trường có thể giải quyết chúng.
Hướng dẫn từng bước
Bước 1: Cài đặt gói
Aspose.Words FOSS cho .NET chưa công bố gói NuGet – hãy biên dịch thư viện từ mã nguồn thay vì. Sao chép https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git, sau đó biên dịch Aspose.Words.sln ở cấu hình Release với SDK .NET và tham chiếu tới assembly Aspose.Words kết quả trong dự án của bạn. Thư viện nhắm tới .NET Standard 2.0, vì vậy nó chạy trên .NET Framework 4.6.2+ và .NET 6/8/10.
Bước 2: Nhập các lớp cần thiết
Thêm một chỉ thị using Aspose.Words; cho Document, và một chỉ thị using Aspose.Words.Bibliography; cho Source, SourceType, Contributor, ContributorCollection, Person, PersonCollection và Corporate.
Bước 3: Truy cập Dữ liệu Thư mục của Tài liệu
Document.Bibliography trả về một thể hiện Bibliography. Thuộc tính Sources của nó là một IList<Source> chứa mọi bản ghi nguồn có sẵn cho tài liệu, và BibliographyStyle ghi lại tên kiểu trích dẫn – ví dụ APA hoặc MLA – nên được áp dụng khi trường BIBLIOGRAPHY được cập nhật.
Bước 4: Tạo một Bản ghi Nguồn
Xây dựng một Source với Source(tag, sourceType): Tag là định danh ngắn mà FieldCitation.SourceTag và FieldBibliography.SourceTag sẽ so khớp sau này, và SourceType là một giá trị enum xác định loại nguồn – Book, BookSection, JournalArticle, ArticleInAPeriodical, ConferenceProceedings, Report, Patent, Case, InternetSite, DocumentFromInternetSite, Interview, Film, SoundRecording, Performance, Art, Electronic, hoặc Misc. Đặt cho mỗi Source một Tag duy nhất – đây là giá trị duy nhất mà các trường trích dẫn sử dụng để tìm bản ghi đúng.
Bước 5: Điền các trường cho loại nguồn đã chọn
Ngoài Title và ShortTitle, Source cung cấp hàng chục trường riêng theo danh mục – chỉ điền những trường liên quan đến SourceType đã chọn. Các nguồn sách sử dụng BookTitle, Edition, NumberVolumes, Volume, Pages, và ChapterNumber. Các nguồn tạp chí sử dụng JournalName, PeriodicalTitle, PublicationTitle, và Issue. Các nguồn web sử dụng InternetSiteTitle, Url, DayAccessed, MonthAccessed, và YearAccessed. Các nguồn pháp lý sử dụng CaseNumber, AbbreviatedCaseNumber, Court, và Reporter. Các nguồn ghi âm và phát sóng sử dụng AlbumTitle, Broadcaster, BroadcastTitle, RecordingNumber, Medium, ProductionCompany, Distributor, Station, và Theater. Các trường mục đích chung áp dụng cho hầu hết các loại nguồn: Publisher, City, StateOrProvince, CountryOrRegion, Year, Month, Day, Comments, Guid, Doi, Version, RefOrder, và Lcid.
Bước 6: Gán Các Cộng tác Viên Cá Nhân
Source.Contributors trả về một ContributorCollection với một thuộc tính cho mỗi vai trò cộng tác viên – Author, Editor, Translator, Compiler, Composer, Conductor, Counsel, Director, Interviewee, Interviewer, Inventor, Performer, Producer, Writer, Artist, và BookAuthor – mỗi thuộc tính có kiểu là lớp cơ sở trừu tượng Contributor. Gán một Person (được xây dựng từ Last, First, Middle) cho thuộc tính vai trò của một cá nhân có tên.
Bước 7: Gán Nhiều Người đóng góp hoặc Người đóng góp Doanh nghiệp
Khi một vai trò có hơn một người đóng góp cá nhân, hãy gán một PersonCollection thay vì một Person duy nhất – PersonCollection cũng kế thừa từ Contributor và thực thi IEnumerable<Person>, với Add(), Remove(), RemoveAt(), Clear(), Contains() và Count để quản lý các thành viên của nó. Khi người đóng góp là một tổ chức thay vì một cá nhân, hãy gán một Corporate (được xây dựng từ Name) vào thuộc tính vai trò thay thế. Person, PersonCollection và Corporate đều đáp ứng cùng một thuộc tính vai trò kiểu Contributor, vì vậy hãy chọn bất kỳ cái nào phù hợp với nguồn.
Bước 8: Thêm Nguồn Để Các Trường Trích Dẫn Có Thể Giải Quyết Nó
Thêm mọi mục đã hoàn thành Source to Document.Bibliography.Sources trước khi cập nhật bất kỳ CITATION or BIBLIOGRAPHY trường tham chiếu tới nó – một nguồn đã được tạo ra nhưng chưa bao giờ được thêm vào không có gì để trường tham chiếu giải quyết. Source bản ghi chỉ cung cấp dữ liệu; chúng không tự render văn bản trích dẫn hoặc thư mục. Việc render diễn ra thông qua FieldCitation and FieldBibliography, được đề cập trong hướng dẫn liên kết và tham chiếu.
Các Vấn Đề Thường Gặp và Cách Khắc Phục
Một trường CITATION hoặc BIBLIOGRAPHY không được giải quyết The Source.Tag không hoàn toàn khớp với trường SourceTag. Xác nhận các thẻ khớp nhau, và rằng Source đã thực sự được thêm vào Document.Bibliography.Sources.
Kiểu người đóng góp sai đã được gán cho một vai trò Một Person đã được gán ở nơi có nhiều người đóng góp, hoặc ngược lại. Sử dụng PersonCollection cho nhiều cá nhân trong một vai trò, Person cho một cá nhân duy nhất, và Corporate cho một tổ chức.
Các trường nguồn trông không nhất quán với loại của chúng Các trường cho một khác SourceType đã được điền – ví dụ, các trường web như Url and DayAccessed được đặt trên một Book nguồn. Chỉ điền các trường liên quan đến lựa chọn đã chọn SourceType.
Một nguồn có nhiều tác giả chỉ hiển thị một tên Một Person đã được gán cho Author thay vì một PersonCollection. Tạo một PersonCollection, thêm từng Person with Add(), và gán bộ sưu tập vào thuộc tính role.
BibliographyStyle không khớp với định dạng trích dẫn tôi mong đợi Bibliography.BibliographyStyle ghi lại tên kiểu trích dẫn nào sẽ được áp dụng – giữ nó nhất quán với cách mà tài liệu’s FieldCitation các trường mong đợi đầu ra được định dạng.
Các câu hỏi thường gặp
Làm thế nào để tôi thêm một nguồn sách với một tác giả duy nhất?
Tạo một Source với SourceType.Book, đặt BookTitle, Publisher, Year, và các trường liên quan, sau đó gán một Person cho Source.Contributors.Author.
Làm thế nào để tôi thêm một nguồn có nhiều tác giả?
Gán một PersonCollection – được điền với các instance Person qua Add() – vào thuộc tính vai trò ContributorCollection liên quan, chẳng hạn như Author.
Làm thế nào để tôi trích dẫn một tổ chức thay vì một cá nhân?
Gán một thể hiện Corporate, được tạo bằng Name của tổ chức, vào thuộc tính vai trò ContributorCollection thay vì một Person hoặc PersonCollection.
Các bản ghi Source thực sự xuất hiện ở đâu trong tài liệu đã được render?
Chúng không tự động hiển thị – FieldCitation and FieldBibliography các trường hiển thị nội dung được xây dựng từ chúng, được khớp bởi SourceTag. Xem hướng dẫn liên kết và tham chiếu.
Điều gì xác định một bản ghi Source cho các trường trích dẫn nó?
Source.Tag, được đặt trong hàm khởi tạo Source(tag, sourceType) – FieldCitation.SourceTag và FieldBibliography.SourceTag khớp với giá trị chính xác này.