Praca z ustawieniami dokumentu
Praca z ustawieniami dokumentu
Poza treścią, dokument Word zawiera ustawienia na poziomie aplikacji — starsze przełączniki zgodności, preferencje hyphenacji, zapisaną konfigurację scalania korespondencji, opcje widoku oraz stan ochrony przed zapisem. Aspose.Words FOSS for .NET udostępnia je poprzez Aspose.Words.Settings przestrzeń nazw i kilka właściwości w Document. Ta strona opisuje każdą grupę ustawień oraz to, co kontroluje, a czego nie kontroluje.
Opcje kompatybilności
Document.CompatibilityOptions jest instancją CompatibilityOptions zawierającą dziesiątki przełączników logicznych, które odtwarzają konkretne starsze zachowania układu i odstępów w Wordzie – na przykład GrowAutofit, UseWord2010TableStyleRules, UseWord2002TableStyleRules, AdjustLineHeightInTable, AlignTablesRowByRow, NoExtraLineSpacing, SuppressSpacingAtTopOfPage, SpacingInWholePoints, UseFELayout i BalanceSingleByteDoubleByteWidth. Ustaw bezpośrednio potrzebne właściwości, aby dopasować specyficzne cechy renderowania danej wersji Worda w narzędziach downstream, które odczytują dokument.
Preferencje hyphenacji
Document.HyphenationOptions jest instancją HyphenationOptions (AutoHyphenation, ConsecutiveHyphenLimit, HyphenateCaps, HyphenationZone) przechowującą preferencje hyphenacji Worda dla dokumentu. Te właściwości przeprowadzają pełny obieg żądania; ponieważ ta edycja nie zawiera silnika układu strony, Aspose.Words FOSS nie oblicza samodzielnie podziałów hyphenacji – Word stosuje je przy otwieraniu i paginowaniu pliku.
Konfiguracja scalania korespondencji
Document.MailMergeSettings jest instancją MailMergeSettings, która przechowuje konfigurację korespondencji seryjnej zarejestrowaną w dokumencie: MainDocumentType, CheckErrors, Destination, DataSource, DataType, Query, ConnectString, MailSubject, MailAsAttachment, ActiveRecord i ViewMergedData, oraz Clear() i Clone(). Dla zewnętrznych źródeł danych podłączonych przez mechanizm Office Data Source Object w Wordzie, MailMergeSettings.Odso udostępnia instancję Odso (DataSource, DataSourceType, TableName, ColumnDelimiter, FirstRowContainsColumnNames), której FieldMapDatas (OdsoFieldMapDataCollection z OdsoFieldMapData: Name, MappedName, Column, Type) oraz RecipientDatas (OdsoRecipientDataCollection z OdsoRecipientData: Active, Column, Hash, UniqueTag) opisują mapowanie pól i listę odbiorców.
Ustawienia widoku dokumentu
Document.ViewOptions jest instancją ViewOptions, kontrolującą sposób wyświetlania pliku w programie Word po otwarciu: ViewType, ZoomType, ZoomPercent, DisplayBackgroundShape, DoNotDisplayPageBoundaries i FormsDesign. Te właściwości wpływają wyłącznie na wyświetlanie dokumentu przez Word — nie mają wpływu na sposób, w jaki Aspose.Words FOSS sam go przetwarza.
Ochrona przed zapisem
Document.WriteProtection jest instancją WriteProtection (IsWriteProtected, ReadOnlyRecommended) z SetPassword() służącą do ustalenia hasła ochronnego oraz ValidatePassword() służącą do sprawdzenia proponowanego hasła.
Jednostki miary
Wyliczenie MeasurementUnits określa jednostkę miary, której Word powinien używać w interfejsie dla dokumentu.
Wskazówki i najlepsze praktyki
CompatibilityOptions.OptimizeFor(MsWordVersion)jest obecny w klasie, ale jego implementacja nie jest kompletna w tej kompilacji — rzucaNotImplementedException. Ustaw indywidualne właściwości logiczneCompatibilityOptions, które są potrzebne, bezpośrednio zamiast polegać naOptimizeFor, aby zastosować cały profil wersji jednocześnie.MailMergeSettingsandOdsoprzechowuje scalanie korespondencji configuration które zostało zapisane w dokumencie — odczyt i zapis tej konfiguracji są obsługiwane, ale wykonanie scalania korespondencji (wypełnianie pól z bieżącego źródła danych) nie jest zawarte w tej otwarto-źródłowej edycji.HyphenationOptionsiViewOptionssą zarówno preferencjami wyświetlania/UI, które stosuje sam Word — nie oczekuj, że wywołanieDocument.Save()zmieni sposób zawijania tekstu lub jego wygląd w oparciu o te ustawienia, ponieważ ta edycja nie zawiera silnika układu strony.- Wywołaj
WriteProtection.SetPassword()przed włączeniemIsWriteProtectedi użyjValidatePassword()do sprawdzenia proponowanego hasła zamiast przechowywania lub porównywania surowego ciągu znaków samodzielnie. CompatibilityOptions,HyphenationOptions,MailMergeSettings,ViewOptionsiWriteProtectionsą wszystkie dostępne bezpośrednio zDocument— nie ma potrzeby przeszukiwać drzewa węzłów w poszukiwaniu ich.
Typowe problemy
| Problem | Przyczyna | Naprawa |
|---|---|---|
CompatibilityOptions.OptimizeFor() zgłasza NotImplementedException | Niezaimplementowane w tej wersji | Ustaw zamiast tego poszczególne właściwości logiczne CompatibilityOptions |
| Scalanie korespondencji nie wypełnia dokumentu danymi | MailMergeSettings przechowuje tylko konfigurację scalania; wykonanie nie jest zawarte w tej edycji | Wczytaj zapisaną konfigurację źródła danych i steruj własną logiką wypełniania pól, lub użyj wersji komercyjnej Aspose.Words dla .NET |
Zmiana ViewOptions.ZoomPercent nie ma widocznego wpływu podczas przetwarzania dokumentu | ViewOptions wpływa tylko na wyświetlanie w Word, a nie na własne przetwarzanie Aspose.Words FOSS | Oczekiwane zachowanie – nie wymaga naprawy |
WriteProtection.ValidatePassword() zwraca false nieoczekiwanie | SetPassword() nie został wywołany najpierw, lub ustawiono inne hasło | Wywołaj SetPassword(), aby ustalić chronione hasło przed walidacją |
FAQ
Czy mogę używać Aspose.Words FOSS do przeprowadzenia rzeczywistego scalania poczty?
Nie. MailMergeSettings i Odso pozwalają odczytywać i zapisywać konfigurację scalania przechowywaną w dokumencie, ale wykonywanie scalania korespondencji – wypełnianie pól z źródła danych – nie jest zawarte w tej otwarto-źródłowej edycji.
Czy CompatibilityOptions.OptimizeFor() działa?
Nie – w tej kompilacji wyrzuca NotImplementedException. Ustaw bezpośrednio poszczególne właściwości CompatibilityOptions, które są potrzebne.
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ą sposób układu dokumentu?
Nie. Oba są zapisanymi preferencjami, które Microsoft Word stosuje przy otwieraniu i wyświetlaniu pliku. Ta edycja nie zawiera silnika układu strony, więc te ustawienia przechodzą dalej bez Aspose.Words FOSS, które samodzielnie obliczałoby układ na ich podstawie.
API Reference Podsumowanie
| Klasa / Enum | Opis |
|---|---|
CompatibilityOptions | Dziedziczne przełączniki układu/odstępów wersji Word, za pośrednictwem Document.CompatibilityOptions |
Compatibility | Wyliczenie nazwujące poszczególne opcje zgodności |
MsWordVersion | Wartości wersji Word używane przez CompatibilityOptions.OptimizeFor() |
HyphenationOptions | Preferencje dzielenia wyrazów, za pośrednictwem Document.HyphenationOptions |
MailMergeSettings | Przechowywana konfiguracja korespondencji seryjnej, za pośrednictwem Document.MailMergeSettings |
Odso | Ustawienia połączenia Office Data Source Object dla korespondencji seryjnej |
OdsoFieldMapData / OdsoFieldMapDataCollection | Mapowanie kolumny na pole korespondencji dla źródła danych ODSO |
OdsoRecipientData / OdsoRecipientDataCollection | Stan włączenia/wykluczenia dla każdego odbiorcy w korespondencji seryjnej |
ViewOptions | Preferencje wyświetlania Word (powiększenie, znaczniki formatowania), za pomocą Document.ViewOptions |
WriteProtection | Stan ochrony przed zapisem dokumentu, za pomocą Document.WriteProtection |
MeasurementUnits | Jednostka miary, której Word powinien używać w swoim interfejsie |