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 na PDF, Aspose.Words vyplní “Aplikace” pole s “Aspose.Words"a pole “PDF Producer” s “Aspose.Words místo .NET YY.M.N., kde YY.M.N je verze Aspose.Words používaný pro konverzi. Další podrobnosti viz Generátor nebo jméno výrobce Zahrnuto ve výstupních 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.

DocumentProperty třída umožňuje získat jméno, hodnotu a typ vlastnosti dokumentu. Value vrací objekt, ale existuje soubor metod, které vám umožní získat hodnotu vlastnosti převedenou na určitý typ. Poté, co zjistíte, jaký typ nemovitosti je, můžete použít jeden z DocumentProperty.ToXXX metody, například DocumentProperty.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-.NET
string fileName = dataDir + "Properties.doc";
Document doc = new Document(fileName);
Console.WriteLine("1. Document name: {0}", fileName);
Console.WriteLine("2. Built-in Properties");
foreach (DocumentProperty prop in doc.BuiltInDocumentProperties)
Console.WriteLine("{0} : {1}", prop.Name, prop.Value);
Console.WriteLine("3. Custom Properties");
foreach (DocumentProperty prop in doc.CustomDocumentProperties)
Console.WriteLine("{0} : {1}", prop.Name, prop.Value);

In Microsoft Word, můžete přistupovat k vlastnostem dokumentů pomocí menu → Vlastnosti → Vlastnosti.

/words/net/work-with-document-properties/work-with-document-properties-1.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-.NET
Document doc = new Document(dataDir + "Properties.doc");
CustomDocumentProperties props = doc.CustomDocumentProperties;
if (props["Authorized"] == null)
{
props.Add("Authorized", true);
props.Add("Authorized By", "John Smith");
props.Add("Authorized Date", DateTime.Today);
props.Add("Authorized Revision", doc.BuiltInDocumentProperties.RevisionNumber);
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-.NET
Document doc = new Document(dataDir + "Properties.doc");
doc.CustomDocumentProperties.Remove("Authorized Date");

Aktualizace Vestavěných vlastností dokumentu

Aspose.Words nemá automaticky aktualizovat vlastnosti dokumentu, jako Microsoft Word provádí s některými vlastnostmi, ale poskytuje metodu pro aktualizaci některých statistických vestavěných dokumentů vlastnosti. Zavolejte 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, jak vytvořit nový vlastní dokument vlastnosti 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-.NET
Document doc = new Document(dataDir + "test.docx");
// Retrieve a list of all custom document properties from the file.
CustomDocumentProperties customProperties = doc.CustomDocumentProperties;
// 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["PropertyName"];
// Check whether the property is linked to content.
bool isLinkedToContent = customProperty.IsLinkToContent;
// Get the source of the property.
string source = customProperty.LinkSource;
// Get the value of the property.
string value = customProperty.Value.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-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_WorkingWithDocument();
// Load the template document.
Document doc = new Document(dataDir + "TestFile.doc");
string variables = "";
foreach (KeyValuePair<string, string> entry in doc.Variables)
{
string name = entry.Key.ToString();
string value = entry.Value.ToString();
if (variables == "")
{
// Do something useful.
variables = "Name: " + name + "," + "Value: {1}" + value;
}
else
{
variables = variables + "Name: " + name + "," + "Value: {1}" + 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 nastavit vlajku s uvedením, že Microsoft Word odstraní všechny uživatelské informace z komentářů, revizí a vlastností dokumentů při uložení dokumentu.

Následující příklad kódu ukazuje, jak odstranit osobní údaje:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET
Document doc = new Document(dataDir + "Properties.doc");
doc.RemovePersonalInformation = true;
dataDir = dataDir + "RemovePersonalInformation_out.docx";
doc.Save(dataDir);