摘要:标准特性:这些是 Word 提供的预定义属性,例如:-标题:文档的名称。-作者:创建文档的人员。-主题:文档的主题或主题。-关键字:与内容相关的重要术语。-评论:有关文档的其他说明。-创建/修改日期:文档的创建时间或上次编辑时间。自定义属性:这些是用户定义的字
Microsoft Word 中的文档属性对于管理和组织文档至关重要。它们提供可以增强可搜索性和上下文的元数据。
MS Word 中的文档属性是描述 Word 文档的内容和上下文的元数据。它们可以包括:
标准特性:这些是 Word 提供的预定义属性,例如:- 标题:文档的名称。
- 作者: 创建文档的人员。
- 主题:文档的主题或主题。
- 关键字:与内容相关的重要术语。
- 评论:有关文档的其他说明。
- 创建/修改日期: 文档的创建时间或上次编辑时间。自定义属性:这些是用户定义的字段,允许您根据需要创建特定的属性。
要使用 Python 管理 Word 文档中的文档属性,我们将使用 Spire.Doc for Python 模块。该库提供了一组用于创建、读取、编辑和转换 Word 文档的全面功能。
安装
要开始使用,请确保您已安装 Spire.Doc for Python。如果没有,你可以通过 pip 安装它:
添加文档属性对于改进文档组织和可搜索性至关重要。在本节中,我们将了解如何添加标准属性和自定义属性。
要在 Python 中向 Word 添加标准文档属性,请执行以下操作:
使用 Document 类打开 Word 文档。通过 Document.BuiltinDocumentProperties 属性访问标准文档属性。使用 BuiltinDocumentProperties 类中的属性设置所需的文档属性。使用 Document.SaveToFile 方法保存修改后的文档。from spire.doc import *# Specify the input and output file pathsinputFile = "Sample.docx"outputFile = "AddStandardDocumentProperties.docx"# Open a Word documentdocument = Document(inputFile)# Add standard document properties to the Word documentbuiltinProperties = document.BuiltinDocumentPropertiesbuiltinProperties.Title = "Annual Report 2024"builtinProperties.Subject = "Overview of Company Performance"builtinProperties.Author = "Jane Doe"builtinProperties.Company = "ABC Corporation"builtinProperties.Manager = "John Smith"builtinProperties.Category = "Financial Reports"builtinProperties.Keywords = "Annual Report, Finance, 2024, Company Performance, Revenue"builtinProperties.Comments = "This report summarizes the financial performance and key metrics for the fiscal year 2024."# Save the modified document to the specified pathdocument.SaveToFile(outputFile, FileFormat.Docx2016)document.ClosePython 向 Word 文档添加标准文档属性
要在 Python 中向 Word 添加自定义文档属性,请执行以下操作:
使用 Document 类打开 Word 文档。使用 Document.CustomDocumentProperties 属性访问自定义文档属性。使用 CustomDocumentProperties.Add 方法设置自定义文档属性的不同类型的类型(如文本、日期、数字以及是或否)。使用 Document.SaveToFile 方法保存修改后的文档。from spire.doc import *# Specify the input and output file pathsinputFile = "Sample.docx"outputFile = "AddCustomDocumentProperties.docx"# Open a Word documentdocument = Document(inputFile)# Add custom document properties to the documentcustomProperties = document.CustomDocumentPropertiescustomProperties.Add("Project Name", String("New Product Launch"))customProperties.Add("Project Deadline", DateTime(2024, 12, 31, 0, 0, 0, 0))customProperties.Add("Budget Estimate", Int32(1500000))customProperties.Add("Approved", Boolean(True))# Save the modified document to the specified pathdocument.SaveToFile(outputFile, FileFormat.Docx2016)document.ClosePython 向 Word 文档添加自定义文档属性
删除不必要或过时的文档属性有助于保持文档的相关性和清晰度。本节介绍如何删除标准属性和自定义属性。
要在 Python 中删除 Word 中的标准文档属性:
使用 Document 类打开 Word 文档。使用 Document.BuiltinDocumentProperties 属性访问标准文档属性。将要删除的属性的值设置为 None。使用 Document.SaveToFile 方法保存修改后的文档。from spire.doc import *# Specify the input and output file pathsinputFile = "AddStandardDocumentProperties.docx"outputFile = "RemoveStandardDocumentProperties.docx"# Open a Word documentdocument = Document(inputFile)# Remove standard document properties from the Word document by setting their values to NonebuiltinProperties = document.BuiltinDocumentPropertiesbuiltinProperties.Title = NonebuiltinProperties.Subject = NonebuiltinProperties.Author = NonebuiltinProperties.Company = NonebuiltinProperties.Manager = NonebuiltinProperties.Category = NonebuiltinProperties.Keywords = NonebuiltinProperties.Comments = None# Save the modified document to the specified pathdocument.SaveToFile(outputFile, FileFormat.Docx2016)document.Close要从 Python 中的 Word 中删除自定义文档属性:
使用 Document 类打开 Word 文档。使用 Document.CustomDocumentProperties 属性访问自定义文档属性。遍历所有自定义文档属性。使用 CustomDocumentProperties.Remove 方法按名称从 Word 文档中删除每个自定义属性。使用 Document.SaveToFile 方法保存修改后的文档。from spire.doc import *# Specify the input and output file pathsinputFile = "AddCustomDocumentProperties.docx"outputFile = "RemoveCustomDocumentProperties.docx"# Open a Word documentdocument = Document(inputFile)# Remove all custom properties from the Word document by their namescustomProperties = document.CustomDocumentPropertiesfor i in range(customProperties.Count - 1, -1, -1): customProperties.Remove(customProperties[i].Name)# Save the modified document to the specified pathdocument.SaveToFile(outputFile, FileFormat.Docx2016)document.Close文档属性字段允许您将文档属性的值直接插入到文档中,从而更轻松地创建动态页眉、页脚或封面。本节介绍如何插入、更新和删除这些字段。
要在 Python 的 Word 中插入和更新文档属性字段,请执行以下操作:
使用 Document 类打开 Word 文档。使用 Document.Sections[index] 属性访问文档的所需部分。向文档添加 document 属性。使用 Paragraph.AppendField 方法为属性添加相关的文档属性字段。使用 Field.Code 属性设置字段代码。使用 Document.IsUpdateFields 属性更新字段。使用 Document.SaveToFile 方法保存修改后的文档。from spire.doc import *# Specify the input and output file pathsinputFile = "Sample.docx"outputFile = "InsertDocumentPropertyField.docx"# Open a Word documentdocument = Document(inputFile)# Access the first sectionsection = document.Sections[0]# Add a company document property to the documentdocument.BuiltinDocumentProperties.Company = "ABC Corporation"# Add a document property field to the sectionfield = section.AddParagraph.AppendField("Company", FieldType.FieldDocProperty)# Set field codefield.Code = 'DOCPROPERTY Company'# Add a custom document property to the documentdocument.CustomDocumentProperties.Add("docPropertyField", DateTime(2024, 12, 31, 0, 0, 0, 0))# Add a document property field to the sectionfield = section.AddParagraph.AppendField("docPropertyField", FieldType.FieldDocProperty)# Set field codefield.Code = 'DOCPROPERTY docPropertyField \@ "dddd, MMMM d, yyyy"'# Update the fieldsdocument.IsUpdateFields = True# Save the modified document to the specified pathdocument.SaveToFile(outputFile, FileFormat.Docx2016)document.Close以下是插入的文档属性字段的代码和值:
Python 向 Word 文档添加文档属性字段
删除文档属性字段使用 Document 类打开文档。使用 Document.Sections[index] 属性访问文档的所需部分。遍历该部分中的所有段落。遍历每个段落中的所有对象。确定每个对象是否为 Field,以及其类型是否与 FieldType.FieldDocProperty 匹配,以查找文档属性字段。使用 Paragraph.ChildObjects.RemoveAt 方法删除已识别的文档属性字段。使用 Document.SaveToFile 方法保存修改后的文档。from spire.doc import *# Specify the input and output file pathsinputFile = "InsertDocumentPropertyField.docx"outputFile = "RemoveDocumentPropertyField.docx"# Open a Word documentdocument = Document(inputFile)# Access the first sectionsection = document.Sections[0]# Iterate through all paragraphs in the sectionfor para_index in range(section.Paragraphs.Count): paragraph = section.Paragraphs[para_index] # Iterate through all objects in the paragraph for i in range(paragraph.ChildObjects.Count - 1, -1, -1): child_object = paragraph.ChildObjects[i] # Check if the child object is a document property field if isinstance(child_object, Field) and child_object.Type == FieldType.FieldDocProperty: # Remove the document property field paragraph.ChildObjects.RemoveAt(i)# Save the modified document to the specified pathdocument.SaveToFile(outputFile, FileFormat.Docx2016)document.Close来源:自由坦荡的湖泊AI