Jak pracować z ustawieniami dokumentu w .NET
Ten przewodnik pokazuje, jak pracować z ustawieniami dokumentu na poziomie aplikacji w Aspose.Words FOSS dla .NET: przełączniki kompatybilności wstecznej, preferencje dzielenia wyrazów, przechowywaną konfigurację korespondencji seryjnej, opcje wyświetlania i ochronę przed zapisem. Aspose.Words FOSS dla .NET jest dostępny poprzez NuGet lub poprzez budowanie ze źródeł.
Przewodnik krok po kroku
Krok 1: Pobierz bibliotekę
Sklonuj repozytorium i zbuduj Aspose.Words.sln w konfiguracji Release, a następnie dodaj odwołanie do projektu Aspose.Words.csproj z własnego projektu .NET, jak opisano w Przewodniku instalacji. Dodaj using Aspose.Words; and using Aspose.Words.Settings; na początku każdego pliku, który odczytuje lub zapisuje ustawienia dokumentu.
Krok 2: Ustaw opcje kompatybilności wstecznej
Document.CompatibilityOptions (instancja CompatibilityOptions) zawiera dziesiątki przełączników logicznych, które odtwarzają konkretne starsze zachowania układu i odstępów w programie Word — na przykład GrowAutofit, UseWord2010TableStyleRules, AdjustLineHeightInTable, AlignTablesRowByRow, NoExtraLineSpacing, SuppressSpacingAtTopOfPage i SpacingInWholePoints. Ustaw bezpośrednio poszczególne właściwości, które są Ci potrzebne; OptimizeFor(MsWordVersion) jest obecny w klasie, ale w tej kompilacji zgłasza NotImplementedException, więc nie ma skrótu, który jednocześnie zastosowałby cały profil wersji.
Krok 3: Skonfiguruj preferencje dzielenia wyrazów
Document.HyphenationOptions (instancja HyphenationOptions) przechowuje preferencje dzielenia wyrazów programu Word dla dokumentu: AutoHyphenation, ConsecutiveHyphenLimit, HyphenateCaps i HyphenationZone. Te właściwości przechodzą w dwie strony żądanie w zapisanym pliku; ponieważ ta edycja nie posiada silnika układu strony, podziały wyrazów są obliczane przez Word podczas otwierania i paginacji pliku, a nie przez Aspose.Words FOSS.
Krok 4: Odczyt i zapis konfiguracji korespondencji seryjnej
Document.MailMergeSettings (instancja MailMergeSettings) przechowuje konfigurację korespondencji seryjnej zapisaną w dokumencie — MainDocumentType, CheckErrors, Destination, DataSource, DataType, Query, ConnectString, MailSubject, MailAsAttachment, ActiveRecord i ViewMergedData — oraz Clear() i Clone(). Dla zewnętrznego źródła danych podłączonego poprzez mechanizm Office Data Source Object w Wordzie, MailMergeSettings.Odso udostępnia instancję Odso (DataSource, DataSourceType, TableName, ColumnDelimiter, FirstRowContainsColumnNames), której kolekcje FieldMapDatas i RecipientDatas opisują mapowanie pól oraz listę odbiorców. Odczyt i zapis tej przechowywanej konfiguracji jest dostępny w tej edycji open-source; wykonanie samego scalania z żywym źródłem danych jest odrębną kwestią wykraczającą poza zakres tej strony.
Krok 5: Skonfiguruj ustawienia widoku dokumentu
Document.ViewOptions (instancja ViewOptions) kontroluje sposób, w jaki Word wyświetla plik po otwarciu: ViewType, ZoomType, ZoomPercent, DisplayBackgroundShape, DoNotDisplayPageBoundaries i FormsDesign. Te właściwości są przechowywanymi preferencjami, które wpływają wyłącznie na wyświetlanie dokumentu w programie Word — nie mają wpływu na to, jak Aspose.Words FOSS sam go przetwarza.
Krok 6: Zastosuj ochronę przed zapisem
Document.WriteProtection (instancja WriteProtection) udostępnia IsWriteProtected i ReadOnlyRecommended, przy czym SetPassword() służy do ustalenia hasła ochronnego, a ValidatePassword() do sprawdzenia podanego hasła względem niego. Wywołaj SetPassword() przed ustawieniem IsWriteProtected = true i użyj ValidatePassword() zamiast samodzielnie przechowywać lub porównywać surowy ciąg hasła.
Typowe problemy i rozwiązania
CompatibilityOptions.OptimizeFor() throws NotImplementedException. Ta metoda nie jest zaimplementowana w tej kompilacji. Ustaw poszczególne CompatibilityOptions właściwości logiczne, których potrzebujesz, bezpośrednio.
Changing ViewOptions.ZoomPercent nie ma widocznego wpływu na wygenerowany wynik. ViewOptions jest przechowywaną preferencją wyświetlania odczytywaną przez Word, a nie czymś, co Aspose.Words FOSS sam stosuje podczas przetwarzania. Nie wymaga poprawki — jest to oczekiwane.
WriteProtection.ValidatePassword() nieoczekiwanie zwraca false. SetPassword() nie został nigdy wywołany, lub ustawiono inne hasło. Wywołaj SetPassword() najpierw, aby ustalić chronione hasło przed walidacją.
Konfiguracja korespondencji seryjnej jest zapisana, ale łączenie nie jest uruchamiane. MailMergeSettings and Odso przechowuje jedynie konfigurację łączenia; ta edycja open-source nie wykonuje samego łączenia. Odczytaj zapisaną konfigurację i zastosuj własną logikę wypełniania pól na jej podstawie.
Najczęściej zadawane pytania
Czy CompatibilityOptions.OptimizeFor() działa?
Nie — w tej wersji wyrzuca NotImplementedException. Ustaw bezpośrednio poszczególne właściwości CompatibilityOptions, których potrzebujesz.
Jak zabezpieczyć dokument hasłem przed edycją?
Wywołaj WriteProtection.SetPassword() na Document.WriteProtection, a następnie ustaw IsWriteProtected, aby włączyć ochronę.
Czy HyphenationOptions i ViewOptions zmieniają wygląd dokumentu, gdy Aspose.Words FOSS go przetwarza?
Nie. Oba są przechowywanymi preferencjami, które Word sam stosuje podczas otwierania i wyświetlania pliku; ta edycja nie ma silnika układu strony, który mógłby działać na nich bezpośrednio.
Gdzie znajdę konfigurację źródła danych mail-merge dla zewnętrznego źródła danych?
MailMergeSettings.Odso — jego kolekcje FieldMapDatas i RecipientDatas opisują mapowanie kolumn oraz stan włączenia odbiorcy.
Jaka jest różnica między Document.CompatibilityOptions a Document.ViewOptions?
CompatibilityOptions przełączniki odtwarzają starsze układy i dziwactwa odstępów Worda; ViewOptions kontroluje, jak własny interfejs Worda wyświetla plik (powiększenie, znaki formatowania). Żadne z nich nie jest obliczane przez samą Aspose.Words FOSS.