Доброго времени суток!
На обычных формах, во временный файл записала pdf:

```1c
    ТабДок.Записать(Имя, ТипФайлаТабличногоДокумента.PDF);
```

А, вот как на него поставить пароль (защиту от копирования, чтоб не зависимо от разрядности платформы и без виртуальных принтеров, не могу сообразить(
---
Решила данную проблему с использованием PDFtk Server:

```1c
    КаталогУстановки = КаталогВременныхФайлов();
    КаталогУстановки = СтрЗаменить(КаталогУстановки + "\", "\\", "\") + "PDFtk\";
    ДанныеАрхива = ЭтаОбработка.ПолучитьМакет("АрхивПрограммы");
    ИмяФайлаАрхива = КаталогУстановки + "Arc.zip";
    ДанныеАрхива.Записать(ИмяФайлаАрхива);
    ЧтениеZip = Новый ЧтениеZipФайла(ИмяФайлаАрхива);
    ЧтениеZip.ИзвлечьВсе(КаталогУстановки);
    ЧтениеZip.Закрыть();

    Скрипт = Новый COMОбъект("WScript.Shell");
    Скрипт.Run(" + КаталогУстановки + "pdftk.exe " + ИмяФайлаИсточник + " output " + ИмяФайлаРезультат + " owner_pw foopass", 0, 1);
```

Может "коряво" но! Работает на х86 и х64
---
Нашла DLL Ёксель, но там как я понимаю только 32 разрядная,
Может есть подобные решения под обе разрядности?
Может кто-то уже сталкивался с подобной проблемой?
---
А какая конфигурация? Если я правильно понял вопрос, то средствами платформы файл можно подписать ЭЦП. Но это не защита от копирования, это защита от изменения. Если нужна именно защита от копирования, то как вариант, заархивировать его с паролем.
Штатными средствами поставить пароль на PDF не получится, насколько я знаю.
---
Может вам поможет https://infostart.ru/public/1217607/ ?
Только она под 32 бита
---
Может и помогла бы(
Но нет столько СМ
---
Решила данную проблему с использованием PDFtk Server:

```1c
    КаталогУстановки = КаталогВременныхФайлов();
    КаталогУстановки = СтрЗаменить(КаталогУстановки + "\", "\\", "\") + "PDFtk\";
    ДанныеАрхива = ЭтаОбработка.ПолучитьМакет("АрхивПрограммы");
    ИмяФайлаАрхива = КаталогУстановки + "Arc.zip";
    ДанныеАрхива.Записать(ИмяФайлаАрхива);
    ЧтениеZip = Новый ЧтениеZipФайла(ИмяФайлаАрхива);
    ЧтениеZip.ИзвлечьВсе(КаталогУстановки);
    ЧтениеZip.Закрыть();

    Скрипт = Новый COMОбъект("WScript.Shell");
    Скрипт.Run(" + КаталогУстановки + "pdftk.exe " + ИмяФайлаИсточник + " output " + ИмяФайлаРезультат + " owner_pw foopass", 0, 1);
```

Может "коряво" но! Работает на х86 и х64
---
Подскажите, пожалуйста, сталкивались ли вы при выполнении указанной команды Скрипт.Run с ошибкой "Произошла исключительная ситуация (0x80070002)" ? Не подскажете, в чем может быть причина такой ошибки?
---
Произошла исключительная ситуация (0x80070002)
Скорее всего, у вас слетела регистрация компонента comcntr.dll. или компонент был удален.
---
Попробуйте через
Новый ЗаписьZipФайла(<ИмяФайла>, <Пароль>, <Комментарий>, <МетодСжатия>, <УровеньСжатия>, <МетодШифрования>, <Кодировка>)
Параметры:
<ИмяФайла> (обязательный)
Тип: Строка.
Имя файла, куда будет записан архив.
<Пароль> (необязательный)
Тип: Строка.
Пароль, который будет назначен архиву.
Если пароль не назначен или является пустой строкой, то шифрование не происходит.
<Комментарий> (необязательный)
Тип: Строка.
Комментарий, описывающий ZIP-файл.
<МетодСжатия> (необязательный)
Тип: МетодСжатияZIP.
Метод сжатия, которым будет сжиматься архив.
Значение по умолчанию: Сжатие.
<УровеньСжатия> (необязательный)
Тип: УровеньСжатияZIP.
Уровень сжатия данных.
Значение по умолчанию: Оптимальный.
<МетодШифрования> (необязательный)
Тип: МетодШифрованияZIP.
Метод шифрования, которым будет зашифрован архив.
Значение по умолчанию: Zip20.
<Кодировка> (необязательный)
Определяет способ кодировки имен файлов внутри ZIP-файла.
Значение по умолчанию: Авто; КодировкаИменФайловВZipФайле.
---
А при чем тут архив?
Мне нужно было установить пароль на сам (имеющийся) PDF файл, для защиты его содержимого от копирования, чтоб в дальнейшем прикрепить во вложения эл.письма.
Пока выбрала PDFtk Server:
Перед запуском извлекаем из архива (поместила в шаблоны внешней обработки), во временный каталог 1С, "портированная" версию программы.
Выполняем действия.
Далее удаляем из Временного каталога свои файлы.
Пока остановилась на этом варианте