Określ opcje ładowania

Podczas ładowania dokumentu możesz ustawić pewne zaawansowane właściwości. Aspose.Words udostępnia klasę LoadOptions, która pozwala na bardziej precyzyjną kontrolę procesu ładowania. Niektóre formaty ładowania mają odpowiednią klasę, która przechowuje opcje ładowania dla tego formatu ładowania, na przykład istnieje PdfLoadOptions do ładowania do formatu PDF lub TxtLoadOptions do ładowania do TXT. W tym artykule przedstawiono przykłady pracy z opcjami klasy LoadOptions.

Ustaw wersję Microsoft Word, aby zmienić wygląd

Różne wersje aplikacji Microsoft Word mogą wyświetlać dokumenty w różny sposób. Na przykład istnieje dobrze znany problem z dokumentami OOXML, takimi jak DOCX lub DOTX, tworzonymi przy użyciu pakietu WPS Office. W takim przypadku może brakować istotnych elementów znaczników dokumentu lub mogą one być różnie interpretowane, co powoduje, że Microsoft Word 2019 wyświetla taki dokument inaczej niż Microsoft Word 2010.

Domyślnie Aspose.Words otwiera dokumenty przy użyciu reguł Microsoft Word 2019. Jeśli chcesz, aby ładowanie dokumentu wyglądało tak, jak miałoby to miejsce w jednej z poprzednich wersji aplikacji Microsoft Word, powinieneś jawnie określić żądaną wersję, korzystając z właściwości MswVersion klasy LoadOptions.

Poniższy przykład kodu pokazuje, jak ustawić wersję Microsoft Word z opcjami ładowania:

Ustaw preferencje językowe, aby zmienić wygląd

Szczegóły wyświetlania dokumentu w Microsoft Word zależą nie tylko od wersji aplikacji i wartości właściwości MswVersion, ale także od ustawień języka. Microsoft Word może wyświetlać dokumenty w różny sposób, w zależności od ustawień okna dialogowego “Preferencje językowe pakietu Office”, które można znaleźć w “Plik → Opcje → Język”. Za pomocą tego okna dialogowego użytkownik może wybrać na przykład język podstawowy, języki sprawdzające, języki wyświetlania i tak dalej. Aspose.Words udostępnia właściwość LanguagePreferences jako odpowiednik tego okna dialogowego. Jeśli wynik Aspose.Words różni się od wyniku Microsoft Word, ustaw odpowiednią wartość dla EditingLanguage – może to poprawić dokument wyjściowy.

Poniższy przykład kodu pokazuje, jak ustawić język japoński jako EditingLanguage:

Użyj WarningCallback, aby kontrolować problemy podczas ładowania dokumentu

Niektóre dokumenty mogą być uszkodzone, zawierać nieprawidłowe wpisy lub zawierać funkcje nieobsługiwane obecnie przez Aspose.Words. Jeśli chcesz wiedzieć o problemach, które wystąpiły podczas ładowania dokumentu, Aspose.Words udostępnia interfejs IWarningCallback.

Poniższy przykładowy kod ilustruje implementację interfejsu IWarningCallback:

Aby uzyskać informacje o wszystkich problemach przez cały czas ładowania, użyj właściwości WarningCallback.

Poniższy przykład kodu pokazuje, jak używać tej właściwości:

Użyj ResourceLoadingCallback, aby kontrolować ładowanie zasobów zewnętrznych

Dokument może zawierać zewnętrzne łącza do obrazów znajdujących się gdzieś na dysku lokalnym, w sieci lub w Internecie. Aspose.Words automatycznie ładuje takie obrazy do dokumentu, jednak zdarzają się sytuacje, gdy proces ten wymaga kontroli. Na przykład, aby zdecydować, czy naprawdę musimy załadować dany obraz, czy może go pominąć. Opcja ładowania ResourceLoadingCallback pozwala to kontrolować.

Poniższy przykładowy kod ilustruje implementację interfejsu IResourceLoadingCallback:

Poniższy przykład kodu pokazuje, jak używać właściwości ResourceLoadingCallback:

Użyj TempFolder, aby uniknąć wyjątku pamięci

Aspose.Words obsługuje niezwykle duże dokumenty zawierające tysiące stron pełnych bogatej treści. Załadowanie takich dokumentów może wymagać dużej ilości pamięci RAM. W procesie ładowania Aspose.Words potrzebuje jeszcze więcej pamięci do przechowywania tymczasowych struktur używanych do analizowania dokumentu.

Jeśli podczas ładowania dokumentu pojawia się wyjątek Out of Memory, spróbuj użyć właściwości TempFolder. W takim przypadku Aspose.Words będzie przechowywać niektóre dane w plikach tymczasowych zamiast w pamięci, co może pomóc uniknąć takiego wyjątku.

Poniższy przykład kodu pokazuje, jak ustawić TempFolder:

Ustaw kodowanie jawnie

Większość nowoczesnych formatów dokumentów przechowuje swoją zawartość w formacie Unicode i nie wymaga specjalnej obsługi. Z drugiej strony, nadal istnieje wiele dokumentów, w których zastosowano kodowanie wcześniejsze niż Unicode i czasami albo brakuje w nich informacji o kodowaniu, albo nawet z natury nie obsługują one informacji o kodowaniu. Aspose.Words domyślnie próbuje automatycznie wykryć odpowiednie kodowanie, ale w rzadkich przypadkach może zaistnieć potrzeba użycia kodowania innego niż wykrywane przez nasz algorytm rozpoznawania kodowania. W takim przypadku użyj właściwości Encoding, aby uzyskać lub ustawić kodowanie.

Poniższy przykład kodu pokazuje, jak ustawić kodowanie, aby zastąpić automatycznie wybrane kodowanie:

Załaduj zaszyfrowane dokumenty

Możesz ładować dokumenty programu Word zaszyfrowane hasłem. Aby to zrobić, użyj specjalnego przeciążenia konstruktora, który akceptuje obiekt LoadOptions. Obiekt ten zawiera właściwość Password, która określa ciąg hasła.

Poniższy przykład kodu pokazuje, jak załadować dokument zaszyfrowany hasłem:

Jeśli nie wiesz z góry, czy plik jest zaszyfrowany, możesz skorzystać z klasy FileFormatUtil, która udostępnia metody narzędziowe do pracy z formatami plików, takie jak wykrywanie formatu pliku lub konwertowanie rozszerzeń plików do/z wyliczeń formatu pliku. Aby wykryć, czy dokument jest zaszyfrowany i do jego otwarcia wymagane jest hasło, użyj właściwości IsEncrypted.

Poniższy przykład kodu pokazuje, jak sprawdzić, czy OpenDocument jest zaszyfrowany, czy nie: