C # или CMD: удалить метаданные файла Word - PullRequest
1 голос
/ 18 ноября 2010

Есть ли способ удалить информацию метаданных файлов MS Word или файлов изображений программным способом, используя C # или пакетную команду Windows?

Ручной способ удалить эту информацию - щелкнуть правой кнопкой мыши файл в окнах.в проводнике и выберите «Свойства»> «Сведения»> «Удалить свойства и личную информацию».

Ответы [ 2 ]

2 голосов
/ 19 ноября 2010

Это непросто, по крайней мере, не понять всего этого.

Вы можете взглянуть на пакет удаления метаданных под названием Metadact от Litera (ранее Softwise).

На рынке тоже есть несколько других.

Если вы хотите сделать это самостоятельно, сначала вам нужно решить, что вы считаете «метаданными».

Некоторым довольно легко добраться до использования объектной модели Word (взаимодействие с C # или VB).

К некоторым нельзя получить доступ через Word, поэтому для этого вам нужно использовать API структурированного хранилища (как и 10 последних авторов).

Если вы говорите о файлах DOCX, вы можете использовать OpenXML SDK, чтобы получить доступ ко всем пакетам внутри файла. затем используйте XML для навигации и редактирования ненужных битов.

Однако в таком случае гораздо труднее удалить «метаданные» из содержимого документа, поскольку вам придется иметь дело с внутренними структурами Word, такими как RUN, и изменять отслеживание.

0 голосов
/ 24 ноября 2010

Спасибо!Я думаю, что нашел способ удалить (или добавить) мета-информацию в офисные документы.Здесь есть статья Microsoft: Файлы Dsofile.dll позволяют редактировать свойства документа Office, если у вас не установлен Office (KB 224351)

Пример файла Dsofile.dllявляется действующим компонентом ActiveX для программистов, использующих Microsoft Visual Basic .NET или Microsoft .NET Framework.Вы можете использовать это в своих пользовательских приложениях для чтения и редактирования свойств документов OLE, связанных с файлами Microsoft Office, таких как:

  • Книги Microsoft Excel
  • Microsoft PowerPointпрезентации
  • документы Microsoft Word Microsoft
  • Проекты проектов Чертежи Microsoft Visio
  • Другие файлы, сохраненные в формате структурированного хранилища OLE

Файл DsofileПример файла .dll написан на Microsoft Visual C ++.Пример файла Dsofile.dll демонстрирует, как использовать интерфейс OLE32 IPropertyStorage для доступа к расширенным свойствам файлов структурированного хранения OLE.Компонент преобразует данные в типы данных, удобные для автоматизации, для более легкого использования такими языками программирования высокого уровня, как Visual Basic 6.0, Visual Basic .NET и C #.Пример файла Dsofile.dll приведен с полным исходным кодом и включает примеры клиентов, написанных на Visual Basic 6.0 и Visual Basic .NET 2003 (7.1).

...