Adobe PDF没有将摘要信息写入根属存储区中名为“\ 005SummaryInformation”的流中的OLE属性集。它使用了Microsoft在XP中停止支持的另一种方法。
使用DSOFile我已将摘要信息添加到PDF。这有用......或者至少我说是在关闭和打开文件之后可以看到摘要信息(使用DSOFile查看器而不是Adobe)!
这是将摘要信息保存到PDF的代码的简化版本。请注意,这不适用于所有文档,例如Office 2007文档。我将WindowsAPICodePack.dll用于不起作用的文档!
Dim oDocument As DSOFile.OleDocumentProperties = New DSOFile.OleDocumentProperties
oDocument.Open(FileName, False, DSOFile.dsoFileOpenOptions.dsoOptionOpenReadOnlyIfNoWriteAccess)
Dim oSummProps As DSOFile.SummaryProperties = oDocument.SummaryProperties
If (NewData <> oSummProps.Title) Then
oSummProps.Title = NewData
End If
oDocument.Save()
oDocument.Close()
我的问题是PDF摘要信息在Windows资源管理器列中不可见。我希望看到的信息是System.Keywords(Tags)和System.Title。
答案 0 :(得分:1)
PDF文件不是结构化存储文件,因此它们不能包含\ 005SummaryInformation流。我不知道上面的代码是如何工作的,但是虽然它可能会在PDF文件中插入一个\ 005SummaryInformation流,但我很确定它会破坏PDF文件。