2011-06-28 10 views
0

Adob​​e PDFには、ルートプロパティーから「\ 005SummaryInformation」という名前のストリームにOLEプロパティセットとして記述されたサマリー情報がありません。 MicrosoftがXPでサポートを停止した別の方法を使用しています。Windowsエクスプローラーの列ビューに要約情報が表示されない

DSOFileを使用して、要約情報をPDFに追加しました。これはうまくいきます...または、少なくとも私は、ファイルを閉じて開いた後、要約情報が見えるようにしています(Adobe以外のDSOFileビューアを使用しています)!

これは、要約情報を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エクスプローラの列に表示されません。私が見たい情報はSystem.Keywords(Tags)とSystem.Titleです。

答えて

1

PDFファイルは構造化ストレージファイルではないため、\ 005SummaryInformationストリームは含まれません。上記のコードの仕組みは分かりませんが、\ 005SummaryInformationストリームがPDFファイルに挿入される可能性がありますが、PDFファイルに損害を与えることは間違いありません。概要情報Office製品の

+0

は、[MS-OLEPS]で指定された設定_OLEプロパティを使用し、GUID FMTID_SummaryInformationは、docストリーム「\ 005SummaryInformation」に._ PDFファイルは、「ドキュメント情報辞書」と「拡張メタデータプラットフォームのメタデータを持つことができます(XMP)」。 DSOFileメタデータの使用は、Microsoftの要件に準拠していなくても、.PDFドキュメントに「どこかに」追加されています。データはどこかにあり、.PDFを破損していません。 VB.Netを使用するWindows Explorerが概要情報を利用するように情報を追加する必要があります。 **これが成果をあげられるかどうかは誰にでも分かります**。 –

+2

ダウンロードのためにどこかにファイルを投稿できるのであれば、それを見て、そのメタデータがどこに追加されたかを正確に伝えることができます。上記のコードで処理した後にAdobe Readerでファイルを開くことができても、ファイルが破損しているとは限りません.Adobe Readerは自動的に多くのエラーを修復します。 Windowsエクスプローラは、ドキュメントインフォメーションディクショナリまたはXMPメタデータについては何も知らず、PDFファイルはOLE SummaryInformationストリームをサポートしていません。可能な解決策は、PDFファイルを処理してそれらからメタデータを抽出できるWindowsエクスプローラ用のプラグインを作成することです。 – iPDFdev

関連する問題