Geben Sie Ladeoptionen an
Beim Laden eines Dokuments können Sie einige erweiterte Eigenschaften festlegen. Aspose.Words stellt Ihnen die LoadOptions-Klasse zur Verfügung, die eine genauere Steuerung des Ladevorgangs ermöglicht. Einige Ladeformate verfügen über eine entsprechende Klasse, die Ladeoptionen für dieses Ladeformat enthält. Beispielsweise gibt es PdfLoadOptions zum Laden in das PDF-Format oder TxtLoadOptions zum Laden in TXT. Dieser Artikel enthält Beispiele für die Arbeit mit Optionen der LoadOptions-Klasse.
Legen Sie die Microsoft Word-Version fest, um das Erscheinungsbild zu ändern
Verschiedene Versionen der Microsoft Word-Anwendung können Dokumente unterschiedlich anzeigen. Beispielsweise gibt es ein bekanntes Problem mit OOXML-Dokumenten wie DOCX oder DOTX, die mit WPS Office erstellt wurden. In einem solchen Fall fehlen möglicherweise wichtige Dokument-Markup-Elemente oder werden anders interpretiert, was dazu führt, dass Microsoft Word 2019 ein solches Dokument anders als Microsoft Word 2010 anzeigt.
Standardmäßig öffnet Aspose.Words Dokumente mithilfe der Microsoft Word 2019-Regeln. Wenn Sie das Laden von Dokumenten so gestalten möchten, wie es in einer der vorherigen Microsoft Word-Anwendungsversionen der Fall wäre, sollten Sie die gewünschte Version mithilfe der MswVersion-Eigenschaft der LoadOptions-Klasse explizit angeben.
Das folgende Codebeispiel zeigt, wie die Microsoft Word-Version mit Ladeoptionen festgelegt wird:
Legen Sie die Spracheinstellungen fest, um das Erscheinungsbild zu ändern
Die Details der Anzeige eines Dokuments in Microsoft Word hängen nicht nur von der Anwendungsversion und dem MswVersion-Eigenschaftswert ab, sondern auch von den Spracheinstellungen. Abhängig von den Einstellungen im Dialogfeld “Office-Spracheinstellungen”, die Sie unter “Datei → Optionen → Sprache” finden, kann es sein, dass Microsoft Word Dokumente unterschiedlich anzeigt. Mithilfe dieses Dialogfelds kann ein Benutzer beispielsweise die Primärsprache, Korrektursprachen, Anzeigesprachen usw. auswählen. Aspose.Words stellt die LanguagePreferences-Eigenschaft als Äquivalent dieses Dialogfelds bereit. Wenn sich die Aspose.Words-Ausgabe von der Microsoft Word-Ausgabe unterscheidet, legen Sie den entsprechenden Wert für EditingLanguage fest – dies kann das Ausgabedokument verbessern.
Das folgende Codebeispiel zeigt, wie man Japanisch als EditingLanguage festlegt:
Verwenden Sie WarningCallback, um Probleme beim Laden eines Dokuments zu kontrollieren
Einige Dokumente sind möglicherweise beschädigt, enthalten ungültige Einträge oder verfügen über Funktionen, die derzeit von Aspose.Words nicht unterstützt werden. Wenn Sie wissen möchten, welche Probleme beim Laden eines Dokuments aufgetreten sind, stellt Aspose.Words die IWarningCallback-Schnittstelle zur Verfügung.
Das folgende Codebeispiel zeigt die Implementierung der IWarningCallback-Schnittstelle:
Um Informationen zu allen Problemen während der Ladezeit zu erhalten, verwenden Sie die WarningCallback-Eigenschaft.
Das folgende Codebeispiel zeigt, wie diese Eigenschaft verwendet wird:
Verwenden Sie ResourceLoadingCallback, um das Laden externer Ressourcen zu steuern
Ein Dokument kann externe Links zu Bildern enthalten, die sich irgendwo auf einer lokalen Festplatte, im Netzwerk oder im Internet befinden. Aspose.Words lädt solche Bilder automatisch in ein Dokument, aber es gibt Situationen, in denen dieser Prozess kontrolliert werden muss. Zum Beispiel um zu entscheiden, ob wir ein bestimmtes Bild wirklich laden oder vielleicht überspringen müssen. Mit der ResourceLoadingCallback-Ladeoption können Sie dies steuern.
Das folgende Codebeispiel zeigt die Implementierung der IResourceLoadingCallback-Schnittstelle:
Das folgende Codebeispiel zeigt, wie die ResourceLoadingCallback-Eigenschaft verwendet wird:
Verwenden Sie TempFolder, um eine Speicherausnahme zu vermeiden
Aspose.Words unterstützt extrem große Dokumente mit Tausenden von Seiten voller umfangreicher Inhalte. Das Laden solcher Dokumente erfordert möglicherweise viel RAM. Während des Ladevorgangs benötigt Aspose.Words noch mehr Speicher, um temporäre Strukturen zu speichern, die zum Parsen eines Dokuments verwendet werden.
Wenn beim Laden eines Dokuments ein Problem mit der Ausnahme “Nicht genügend Arbeitsspeicher” auftritt, versuchen Sie, die TempFolder-Eigenschaft zu verwenden. In diesem Fall speichert Aspose.Words einige Daten in temporären Dateien statt im Speicher, was dazu beitragen kann, eine solche Ausnahme zu vermeiden.
Das folgende Codebeispiel zeigt, wie TempFolder festgelegt wird:
Legen Sie die Kodierung explizit fest
Die meisten modernen Dokumentformate speichern ihren Inhalt in Unicode und erfordern keine besondere Behandlung. Andererseits gibt es immer noch viele Dokumente, die eine Kodierung vor Unicode verwenden und manchmal entweder Kodierungsinformationen fehlen oder die Kodierungsinformationen nicht einmal von Natur aus unterstützen. Aspose.Words versucht standardmäßig, die entsprechende Kodierung automatisch zu erkennen. In seltenen Fällen müssen Sie jedoch möglicherweise eine andere Kodierung verwenden als die, die von unserem Kodierungserkennungsalgorithmus erkannt wird. Verwenden Sie in diesem Fall die Encoding-Eigenschaft, um die Kodierung abzurufen oder festzulegen.
Das folgende Codebeispiel zeigt, wie Sie die Codierung so festlegen, dass sie die automatisch ausgewählte Codierung überschreibt:
Laden Sie verschlüsselte Dokumente
Sie können Word-Dokumente verschlüsselt mit einem Passwort laden. Verwenden Sie dazu eine spezielle Konstruktorüberladung, die ein LoadOptions-Objekt akzeptiert. Dieses Objekt enthält die Password-Eigenschaft, die die Passwortzeichenfolge angibt.
Das folgende Codebeispiel zeigt, wie ein mit einem Passwort verschlüsseltes Dokument geladen wird:
Wenn Sie nicht im Voraus wissen, ob die Datei verschlüsselt ist, können Sie die FileFormatUtil-Klasse verwenden, die Hilfsmethoden für die Arbeit mit Dateiformaten bereitstellt, z. B. das Erkennen des Dateiformats oder das Konvertieren von Dateierweiterungen in/aus Dateiformataufzählungen. Um festzustellen, ob das Dokument verschlüsselt ist und zum Öffnen ein Kennwort erforderlich ist, verwenden Sie die IsEncrypted-Eigenschaft.
Das folgende Codebeispiel zeigt, wie Sie überprüfen, ob OpenDocument verschlüsselt ist oder nicht: