Práce s vlastnostmi dokumentu

Vlastnosti dokumentu umožňují uložení některých užitečných informací o vašem dokumentu. Tyto vlastnosti lze rozdělit do dvou skupin:

  • Systém nebo zabudované, které obsahují hodnoty jako název dokumentu, jméno autora, statistiky dokumentů a další.
  • User-defined or custom, provided as name-value pair where the user can defined both the name and value.

Je užitečné znát informace o API a číslo verze je přímo zapsáno do výstupních dokumentů. Například po převodu dokumentu do PDF, Aspose.Words vyplní “Aplikace” pole s “Aspose.Words"a pole “PDF Producer” s “Aspose.Words místo Java YY.M.N., kde YY.M.N je verze Aspose.Words používaný pro konverzi. Další podrobnosti viz Generát nebo jméno výrobce Zahrnuto ve výtahech dokumentech.

Vlastnosti přístupového dokumentu

Přístup k vlastnostem dokumentů v Aspose.Words použití:

BuiltInDocumentProperties a CustomDocumentProperties jsou sbírky DocumentProperty objekty. Tyto objekty lze získat prostřednictvím vlastnosti indexeru jménem nebo indexem.

BuiltInDocumentProperties navíc poskytuje přístup k vlastnostem dokumentů prostřednictvím sady zadaných vlastností, které vracejí hodnoty příslušného typu. CustomDocumentProperties umožňuje přidat nebo odstranit vlastnosti dokumentu z dokumentu.

The DocumentProperty třída umožňuje získat název, hodnotu a typ vlastnosti dokumentu. [Value]https://reference.apose.com/words/java/com.apose.words/documentproperty#Value) vrace objekt, ale existuje soubor metod, které vám vyhovuje cena nemovitosti převedenou na určený typ. Poté, co zjistíte, jaký typ nemovitosti je, můžete použít jeden z nich {0} metody, jako jsou {1}ToString a DocumentProperty.ToInt, získat hodnotu příslušného typu.

Následující příklad kódu ukazuje, jak vyčíslit všechny vestavěné a vlastní vlastnosti v dokumentu:

// 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, vlastnosti dokumentů můžete získat pomocí menu → Vlastnosti →.

work-with-document-properties-aspose-words-java.png

Přidat nebo odstranit vlastnosti dokumentu

Nelze přidat nebo odstranit vestavěné vlastnosti dokumentu pomocí Aspose.Words. Můžete pouze měnit nebo aktualizovat jejich hodnoty.

Přidání vlastních vlastností dokumentu s Aspose.Words, použijte Add způsob předání nového názvu nemovitosti a hodnoty příslušného typu. Metoda vrací nově vytvořené DocumentProperty objekt.

Pro odstranění vlastních vlastností použijte Remove způsob, předání názvu nemovitosti k odstranění, nebo RemoveAt způsob odstranění nemovitosti indexem. Můžete také odstranit všechny vlastnosti pomocí Clear metoda.

Následující příklad kódu ověřuje, zda vlastní vlastnost s daným jménem existuje v dokumentu a přidává několik dalších vlastních vlastností dokumentu:

// 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);
}

Následující příklad kódu ukazuje, jak odstranit vlastní vlastnost dokumentu:

// 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");

Aktualizace Vestavěných vlastností dokumentu

Aspose.Words automaticky neaktualizuje vlastnosti dokumentu jako Microsoft Word dělá s některými vlastnostmi, ale poskytuje metodu pro aktualizaci některých statistických vestavěných dokumentů vlastnosti. Zavolej UpdateWordCount metoda přepočítání a aktualizace těchto vlastností:

Vytvořit nový vlastní majetek spojený s obsahem

Aspose.Words poskytuje AddLinkToContent způsob vytvoření nové vlastní vlastnosti dokumentu spojené s obsahem. Tato vlastnost vrací nově vytvořený objekt nebonuluje, pokud LinkSource je neplatný.

Následující příklad kódu ukazuje, jak nastavit odkaz na vlastní vlastnost:

// 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();

Získat proměnné dokumentu

Můžete získat soubor proměnných dokumentů pomocí Variables majetek. Variabilní názvy a hodnoty jsou řetězce.

Následující příklad kódu ukazuje, jak vyčíslit proměnné dokumentu:

// 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);
}

Odstranit osobní údaje z dokumentu

Chcete-li sdílet dokument Word s jinými lidmi, možná budete chtít odstranit osobní údaje, jako je jméno autora a společnost. K tomu použijte RemovePersonalInformation Vlastnost pro stanovení vlajky s uvedením, že Microsoft Word odstraní všechny uživatelské informace z komentářů, revizí a vlastností dokumentů při uložení dokumentu.