Word 和 PDF 文件中的文档属性
Document properties in Word and PDF files
我正在尝试从带有 GemBox.Document 的 Word 文件中读取特定的 属性,但在某些情况下,它可能不在文档中,所以我收到错误消息。
var document = DocumentModel.Load("ovl-last.docx");
var documentProperties = document.DocumentProperties;
var ovldoctype = documentProperties.Custom["DocType"];
在 Document Properties 示例中,我注意到我们可以遍历属性。这是获得 属性 并防止异常的唯一“安全”方法,还是有另一种方法来检查它的存在?
此外,当我将 DocumentModel
保存为 PDF 时,我注意到我得到了“PDF Producer”属性 的硬编码“GemBox.Document XYZ”值。我可以在以下位置看到它:Adobe Reader -> 文件 -> 属性... -> 高级 -> PDF Producer
我可以将其更改为其他内容吗?
请注意,DocumentProperties.BuiltIn
and DocumentProperties.Custom
都是字典,因此您可以使用 TryGetValue
尝试检索“DocType”值或使用 ContainsKey
方法检查“DocType”键是否存在。
例如,像这样:
var document = DocumentModel.Load("ovl-last.docx");
var documentProperties = document.DocumentProperties;
if (document.DocumentProperties.Custom.TryGetValue("DocType", out object ovldoctype))
{
// ...
}
或者这样:
var document = DocumentModel.Load("ovl-last.docx");
var documentProperties = document.DocumentProperties;
if (document.DocumentProperties.Custom.ContainsKey("DocType"))
{
var ovldoctype = documentProperties.Custom["DocType"];
// ...
}
关于“PDF Producer”,尝试添加“Producer”属性:
documentProperties.Custom.Add("Producer", "My value for PDF Producer");
document.Save("ovl-last.pdf");
我正在尝试从带有 GemBox.Document 的 Word 文件中读取特定的 属性,但在某些情况下,它可能不在文档中,所以我收到错误消息。
var document = DocumentModel.Load("ovl-last.docx");
var documentProperties = document.DocumentProperties;
var ovldoctype = documentProperties.Custom["DocType"];
在 Document Properties 示例中,我注意到我们可以遍历属性。这是获得 属性 并防止异常的唯一“安全”方法,还是有另一种方法来检查它的存在?
此外,当我将 DocumentModel
保存为 PDF 时,我注意到我得到了“PDF Producer”属性 的硬编码“GemBox.Document XYZ”值。我可以在以下位置看到它:Adobe Reader -> 文件 -> 属性... -> 高级 -> PDF Producer
我可以将其更改为其他内容吗?
请注意,DocumentProperties.BuiltIn
and DocumentProperties.Custom
都是字典,因此您可以使用 TryGetValue
尝试检索“DocType”值或使用 ContainsKey
方法检查“DocType”键是否存在。
例如,像这样:
var document = DocumentModel.Load("ovl-last.docx");
var documentProperties = document.DocumentProperties;
if (document.DocumentProperties.Custom.TryGetValue("DocType", out object ovldoctype))
{
// ...
}
或者这样:
var document = DocumentModel.Load("ovl-last.docx");
var documentProperties = document.DocumentProperties;
if (document.DocumentProperties.Custom.ContainsKey("DocType"))
{
var ovldoctype = documentProperties.Custom["DocType"];
// ...
}
关于“PDF Producer”,尝试添加“Producer”属性:
documentProperties.Custom.Add("Producer", "My value for PDF Producer");
document.Save("ovl-last.pdf");