Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2010, 17:16   #1
gkgoro
 
Регистрация: 09.09.2010
Сообщений: 3
По умолчанию присвоить идентификационный номер документу word

Можно ли как-то "пометить" файл Word, чтобы при случае можно было отличить одну его копию от другой? Или что можно сделать для того, чтобы сделать так, чтобы я мог отследить движение копий файла (я даю человеку файл и хочу знать, что он его не распространит)?

Тот же вопрос по форматам PPT/PPTX и PDF
gkgoro вне форума Ответить с цитированием
Старый 09.09.2010, 18:38   #2
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Цитата:
Можно ли как-то "пометить" файл Word, чтобы при случае можно было отличить одну его копию от другой?
Неверная постановка вопроса. При любом пересохранении документа MS OFFICE файл меняется.
Поэтому, маркер может быть только в информации. Например, это может быть визуально неразличимая смесь латиницы и кириллицы в некоторых словах. Такая метка сохранится да же при "копипасте" через плоский текст...
Или частотные характеристики текста (cм. методы стеганографии).
Или поле PRIVATE в тексте.
Или внедрённые в документ объекты (надписи или рисунки) нулевого размера.
Или пользовательская переменная (variable) Word c необходимой информацией
Aent вне форума Ответить с цитированием
Старый 09.09.2010, 18:48   #3
gkgoro
 
Регистрация: 09.09.2010
Сообщений: 3
По умолчанию один файл

Aent, спасибо за ответ!
а как я могу увидеть эту уникальную информацию? И как мне сделать её разной в разных копиях одного файла? Пересохраниять?
gkgoro вне форума Ответить с цитированием
Старый 12.09.2010, 01:48   #4
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Цитата:
а как я могу увидеть эту уникальную информацию? И как мне сделать её разной в разных копиях одного файла? Пересохраниять?
Зависит от способа маркирования ...
Если я правильно вас понял задачу можно переформулировать следующим образом:
1) Cоздаём N копий оригинального документа и раздаём их N людям
2) Получив со стороны копию документа мы хотим установить копией какого экземпляра она является.
Тут возможны 2 принципиально разных подхода:
a) Мы делаем документ PDF, защищённый от модификации. И хотя эта защита довольно просто снимается - можно защитить копии документа различными паролями. C несколько меньшим успехом это можно проделать и с документами офиса.
b) Мы маркируем информацию стеганографическими методами. Например, в первой копии документа мы заменяем 5 и 8 вхождение одной из гласных "аео" на их латинские аналоги. Во второй копии делаем это с 6 и 9 вхождениями, в - третьей с 7 и 10 и т.д. и т.п. Это легко реализуется простейшим макросом. Естественно, это только простейший пример. Можно привязаться так же к количеству пробелов полсле запятой, незначащим нулям и т.д. Если количество копий не очень велико, проще всего всё сделать руками. В противном случае - макрос сериализатор.
Хорошим маркером при небольшом количестве копий является точный RGB цвет текста или внедрённого графического объекта.
Если документ - большой отчёт - достаточно поменять какую-нибудь цифру в некритическом числе.
Можно так же (как я уже писал) воспользоваться полем PRIVATE или просто поместить в документ руками скрытый текст.
Здесь очень многое зависит от характера распространяемого документа и от того можем ли мы сделать его документом только для чтения ( как правило это невозможно ибо да же тот же защищённый от распечатки PDF в момент прогоняется через что то типа пары Pasware Kit Enterprise + Abbyy Finereader) и от того какие возможные контр меры для затруднения идентификации экземпляра
могут быть предприняты.
Если вопрос серьёзный - я бы порекомендовал использовать комбинацию стеганографических маркеров.
Если же речь идёт о защите от "дурака", воспользуйтесь в MS Word, как я порекомендовал ранее, коллекцией Variables
Код:
ActiveDocument.Variables.Add Name:="User", Value:="Иван Иванов"
Вводить этот код можно в окне Immediate (Ctrl+G) VBE. Cмотрите HELP.

Последний раз редактировалось Aent; 12.09.2010 в 02:11.
Aent вне форума Ответить с цитированием
Старый 14.09.2010, 16:52   #5
gkgoro
 
Регистрация: 09.09.2010
Сообщений: 3
По умолчанию

ввел код в поле immediate, сохранил документ, закрыл, открыл. вопрос - где мне искать то, что я ввёл в поле immediate?
gkgoro вне форума Ответить с цитированием
Старый 14.09.2010, 17:53   #6
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

После открытия документа с сохранённой переменной USER, выполните в окне Immediate код:
Код:
?ActiveDocument.Variables("User")
Повторно рекомендую:
Почитайте какую-нибудь книжку типа "VBA для чайников"...
Или хотя бы HELP посмотрите ...
Aent вне форума Ответить с цитированием
Старый 14.09.2010, 20:18   #7
javvva
Пользователь
 
Аватар для javvva
 
Регистрация: 23.01.2010
Сообщений: 70
По умолчанию

Цитата:
b) Мы маркируем информацию стеганографическими методами. Например, в первой копии документа мы заменяем 5 и 8 вхождение одной из гласных "аео" на их латинские аналоги. Во второй копии делаем это с 6 и 9 вхождениями, в - третьей с 7 и 10 и т.д. и т.п. Это легко реализуется простейшим макросом. Естественно, это только простейший пример. Можно привязаться так же к количеству пробелов полсле запятой, незначащим нулям и т.д. Если количество копий не очень велико, проще всего всё сделать руками. В противном случае - макрос сериализатор.
спорный метод. при открытии документа такие слова пометятся как с ошибкой. и если человек не ленивый то он постарается разобраться в чем дело.
javvva вне форума Ответить с цитированием
Старый 14.09.2010, 22:42   #8
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Цитата:
Сообщение от javvva
спорный метод. при открытии документа такие слова пометятся как с ошибкой.
Цитата:
Сообщение от Aent
Естественно, это только простейший пример
Я просто дал общую идею. С другой стороны, описанный метод с незначительной модификацией был реально успешно применён на практике И даже после конвертации PDF->RTF->TXT->HTML позволил вычислить источник утечки информации.
Aent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
передвижение по документу dimonnnn JavaScript, Ajax 0 14.08.2010 21:13
Присвоить номер места в массиве без сортировки. vera_ira Microsoft Office Excel 5 30.03.2010 16:34
Как привязать компонент finddialog к документу word? Pinkygirl Microsoft Office Excel 0 09.01.2010 15:15
SQL: как присвоить записи её порядковый номер? FReeMAN(Q) Помощь студентам 10 18.04.2009 11:43