Arbeiten mit Dokumenteigenschaften
Dokumenteigenschaften ermöglichen das Speichern einiger nützlicher Informationen zu Ihrem Dokument. Diese Eigenschaften können in zwei Gruppen unterteilt werden:
- System oder integriert, die Werte wie Dokumenttitel, Autorenname, Dokumentstatistik und andere enthalten.
- Benutzerdefiniert oder benutzerdefiniert, bereitgestellt als Name-Wert-Paare, wobei der Benutzer sowohl den Namen als auch den Wert definieren kann.
Es ist nützlich zu wissen, dass Informationen zu API und Versionsnummer direkt in Ausgabedokumente geschrieben werden. Wenn Sie beispielsweise ein Dokument in PDF konvertieren, füllt Aspose.Words das Feld “Anwendung” mit “Aspose.Words” und das Feld “PDF Produzent” mit “Aspose.Words für Java YY.M.N”, wobei YY.M.N die Version von Aspose.Words ist, die für die Konvertierung verwendet wird. Weitere Einzelheiten finden Sie unter Name des Generators oder Herstellers in Ausgabedokumenten enthalten.
Auf Dokumenteigenschaften zugreifen
Um auf Dokumenteigenschaften in Aspose.Words zuzugreifen, verwenden Sie:
-
BuiltInDocumentProperties, um integrierte Eigenschaften zu erhalten.
-
CustomDocumentProperties, um benutzerdefinierte Eigenschaften zu erhalten.
BuiltInDocumentProperties
BuiltInDocumentProperties
Mit der Klasse DocumentProperty können Sie den Namen, den Wert und den Typ einer Dokumenteigenschaft abrufen. [Wert]https://reference.aspose.com/words/java/com.aspose.words/documentproperty#Value ) gibt ein Objekt zurück, aber es gibt eine Reihe von Methoden, mit denen Sie den Eigenschaftswert in einen bestimmten Typ konvertieren können. Nachdem Sie erfahren haben, um welchen Typ es sich bei der Eigenschaft handelt, können Sie eine der DocumentProperty.ToXXX-Methoden verwenden, z. B. DocumentProperty.ToString und DocumentProperty.ToInt, um den Wert des entsprechenden Typs zu erhalten.
Das folgende Codebeispiel zeigt, wie alle integrierten und benutzerdefinierten Eigenschaften in einem Dokument aufgelistet werden:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
String fileName = dataDir + "Properties.doc"; | |
Document doc = new Document(fileName); | |
System.out.println("1. Document name: " + fileName); | |
System.out.println("2. Built-in Properties"); | |
for (DocumentProperty prop : doc.getBuiltInDocumentProperties()) | |
System.out.println(prop.getName() + " : " + prop.getValue()); | |
System.out.println("3. Custom Properties"); | |
for (DocumentProperty prop : doc.getCustomDocumentProperties()) | |
System.out.println(prop.getName() + " : " + prop.getValue()); |
In Microsoft Word können Sie über das Menü “Datei → Eigenschaften” auf die Dokumenteigenschaften zugreifen.

Dokumenteigenschaften hinzufügen oder entfernen
Sie können integrierte Dokumenteigenschaften nicht mit Aspose.Words hinzufügen oder entfernen. Sie können nur ihre Werte ändern oder aktualisieren.
Um benutzerdefinierte Dokumenteigenschaften mit Aspose.Words hinzuzufügen, verwenden Sie die Methode Add und übergeben Sie den neuen Eigenschaftsnamen und den Wert des entsprechenden Typs. Die Methode gibt das neu erstellte DocumentProperty -Objekt zurück.
Verwenden Sie zum Entfernen benutzerdefinierter Eigenschaften die Methode Remove und übergeben Sie ihr den zu entfernenden Eigenschaftsnamen oder die Methode RemoveAt, um die Eigenschaft nach Index zu entfernen. Sie können auch alle Eigenschaften mit der Methode Clear entfernen.
Das folgende Codebeispiel überprüft, ob eine benutzerdefinierte Eigenschaft mit einem bestimmten Namen in einem Dokument vorhanden ist, und fügt einige weitere benutzerdefinierte Dokumenteigenschaften hinzu:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(dataDir + "Properties.doc"); | |
CustomDocumentProperties props = doc.getCustomDocumentProperties(); | |
if (props.get("Authorized") == null) { | |
props.add("Authorized", true); | |
props.add("Authorized By", "John Smith"); | |
props.add("Authorized Date", new Date()); | |
props.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber()); | |
props.add("Authorized Amount", 123.45); | |
} |
Das folgende Codebeispiel zeigt, wie Sie eine benutzerdefinierte Dokumenteigenschaft entfernen:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(dataDir + "Properties.doc"); | |
doc.getCustomDocumentProperties().remove("Authorized Date"); |
Aktualisieren der integrierten Dokumenteigenschaften
Aspose.Words aktualisiert Dokumenteigenschaften nicht automatisch, wie es Microsoft Word bei einigen Eigenschaften tut, sondern bietet eine Methode zum Aktualisieren einiger statistischer integrierter Dokumenteigenschaften. Rufen Sie die Methode UpdateWordCount auf, um die folgenden Eigenschaften neu zu berechnen und zu aktualisieren:
Erstellen einer neuen benutzerdefinierten Eigenschaft, die mit Inhalten verknüpft ist
Aspose.Words stellt die Methode AddLinkToContent bereit, um eine neue benutzerdefinierte Dokumenteigenschaft zu erstellen, die mit Inhalt verknüpft ist. Diese Eigenschaft gibt das neu erstellte Eigenschaftsobjekt oder null zurück, wenn LinkSource ungültig ist.
Das folgende Codebeispiel zeigt, wie Sie einen Link zu einer benutzerdefinierten Eigenschaft konfigurieren:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(dataDir + "test.docx"); | |
// Retrieve a list of all custom document properties from the file. | |
CustomDocumentProperties customProperties = doc.getCustomDocumentProperties(); | |
// Add linked to content property. | |
DocumentProperty customProperty = customProperties.addLinkToContent("PropertyName", "BookmarkName"); | |
// Also, accessing the custom document property can be performed by using the | |
// property name. | |
customProperty = customProperties.get("PropertyName"); | |
// Check whether the property is linked to content. | |
boolean isLinkedToContent = customProperty.isLinkToContent(); | |
// Get the source of the property. | |
String source = customProperty.getLinkSource(); | |
// Get the value of the property. | |
String value = customProperty.getValue().toString(); |
Dokumentvariablen abrufen
Sie können eine Sammlung von Dokumentvariablen mit der Eigenschaft Variables abrufen. Variablennamen und -werte sind Zeichenfolgen.
Das folgende Codebeispiel zeigt, wie Dokumentvariablen aufgelistet werden:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
Document doc = new Document(dataDir + "Document.doc"); | |
for (java.util.Map.Entry entry : doc.getVariables()) { | |
String name = entry.getKey().toString(); | |
String value = entry.getValue().toString(); | |
// Do something useful. | |
System.out.println("Name: " + name + ", Value: " + value); | |
} |
Persönliche Informationen aus dem Dokument entfernen
Wenn Sie ein Word-Dokument für andere Personen freigeben möchten, möchten Sie möglicherweise persönliche Informationen wie den Namen des Autors und die Firma entfernen. Verwenden Sie dazu die Eigenschaft RemovePersonalInformation, um das Flag zu setzen, das angibt, dass Microsoft Word beim Speichern des Dokuments alle Benutzerinformationen aus Kommentaren, Revisionen und Dokumenteigenschaften entfernt.