Pracuj z właściwościami dokumentu
Właściwości dokumentu umożliwiają przechowywanie przydatnych informacji o dokumencie. Właściwości te można podzielić na dwie grupy:
- Systemowe lub wbudowane, które zawierają wartości takie jak tytuł dokumentu, nazwisko autora, statystyki dokumentu i inne.
- Zdefiniowane przez użytkownika lub niestandardowe, dostarczane jako pary nazwa-wartość, w których użytkownik może zdefiniować zarówno nazwę, jak i wartość.
Warto wiedzieć, że informacje o API i numerze wersji są bezpośrednio zapisywane w dokumentach wyjściowych. Na przykład podczas konwersji dokumentu do formatu PDF Aspose.Words wypełnia pole “Aplikacja” wartością “Aspose.Words”, a pole “Producent PDF” wartością “Aspose.Words for .NET YY.MN”, gdzie YY.M.N to wersja Aspose.Words używana do konwersji. Więcej szczegółów znajdziesz w Nazwa generatora lub producenta zawarta w dokumentach wyjściowych.
Uzyskaj dostęp do właściwości dokumentu
Aby uzyskać dostęp do właściwości dokumentu w formacie Aspose.Words, użyj:
-
BuiltInDocumentProperties w celu uzyskania wbudowanych właściwości.
-
CustomDocumentProperties w celu uzyskania niestandardowych właściwości.
BuiltInDocumentProperties i CustomDocumentProperties to zbiory obiektów DocumentProperty. Obiekty te można uzyskać za pomocą właściwości indeksatora według nazwy lub indeksu.
BuiltInDocumentProperties dodatkowo zapewnia dostęp do właściwości dokumentu poprzez zestaw wprowadzanych właściwości, które zwracają wartości odpowiedniego typu. CustomDocumentProperties umożliwia dodawanie lub usuwanie właściwości dokumentu z dokumentu.
Klasa DocumentProperty pozwala uzyskać nazwę, wartość i typ właściwości dokumentu. Value zwraca obiekt, ale istnieje zestaw metod umożliwiających przekonwertowanie wartości właściwości na określony typ. Po zapoznaniu się z typem właściwości można skorzystać z jednej z metod DocumentProperty.ToXXX, np. DocumentProperty.ToString i DocumentProperty.ToInt, w celu uzyskania wartości odpowiedniego typu.
Poniższy przykład kodu pokazuje, jak wyliczyć wszystkie właściwości wbudowane i niestandardowe w dokumencie:
// 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); |
W Microsoft Word dostęp do właściwości dokumentu można uzyskać za pomocą menu “Plik → Właściwości”.

Dodaj lub usuń właściwości dokumentu
Nie można dodawać ani usuwać wbudowanych właściwości dokumentu za pomocą Aspose.Words. Można jedynie zmieniać lub aktualizować ich wartości.
Aby dodać niestandardowe właściwości dokumentu za pomocą Aspose.Words, użyj metody Add, przekazując nową nazwę właściwości i wartość odpowiedniego typu. Metoda zwraca nowo utworzony obiekt DocumentProperty.
Aby usunąć właściwości niestandardowe, użyj metody Remove, przekazując jej nazwę właściwości do usunięcia, lub metody RemoveAt, aby usunąć właściwość według indeksu. Możesz także usunąć wszystkie właściwości za pomocą metody Clear.
Poniższy przykład kodu sprawdza, czy w dokumencie istnieje niestandardowa właściwość o podanej nazwie i dodaje kilka dodatkowych niestandardowych właściwości 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); | |
} |
Poniższy przykład kodu pokazuje, jak usunąć niestandardową właściwość 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"); |
Zaktualizuj wbudowane właściwości dokumentu
Aspose.Words nie aktualizuje automatycznie właściwości dokumentu, jak robi to Microsoft Word w przypadku niektórych właściwości, ale zapewnia metodę aktualizacji niektórych wbudowanych właściwości statystycznych dokumentu. Wywołaj metodę UpdateWordCount, aby ponownie obliczyć i zaktualizować następujące właściwości:
Utwórz nową właściwość niestandardową połączoną z zawartością
Aspose.Words udostępnia metodę AddLinkToContent do tworzenia nowej niestandardowej właściwości dokumentu powiązanej z treścią. Ta właściwość zwraca nowo utworzony obiekt właściwości lub wartość null, jeśli plik LinkSource jest nieprawidłowy.
Poniższy przykład kodu pokazuje, jak skonfigurować łącze do właściwości niestandardowej:
// 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(); |
Pobierz zmienne dokumentu
Kolekcję zmiennych dokumentu można uzyskać za pomocą właściwości Variables. Nazwy i wartości zmiennych są ciągami znaków.
Poniższy przykład kodu pokazuje, jak wyliczyć zmienne 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; | |
} | |
} |
Usuń dane osobowe z dokumentu
Jeśli chcesz udostępnić dokument programu Word innym osobom, możesz usunąć dane osobowe, takie jak imię i nazwisko autora i firma. Aby to zrobić, użyj właściwości RemovePersonalInformation, aby ustawić flagę wskazującą, że Microsoft Word usunie wszystkie informacje o użytkowniku z komentarzy, wersji i właściwości dokumentu po zapisaniu dokumentu.
Poniższy przykład kodu pokazuje, jak usunąć dane osobowe:
// 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); |