Как программно установить пароль на имеющийся pdf файл

1. Asya.Ozerova 40 07.07.20 20:43 Сейчас в теме
Доброго времени суток!
На обычных формах, во временный файл записала pdf:
ТабДок.Записать(Имя, ТипФайлаТабличногоДокумента.PDF); 

А, вот как на него поставить пароль (защиту от копирования, чтоб не зависимо от разрядности платформы и без виртуальных принтеров, не могу сообразить(
По теме из базы знаний
Найденные решения
5. Asya.Ozerova 40 13.07.20 07:43 Сейчас в теме
Решила данную проблему с использованием PDFtk Server:
	КаталогУстановки = КаталогВременныхФайлов();
	КаталогУстановки = СтрЗаменить(КаталогУстановки + "\", "\\", "\") + "PDFtk\";
	ДанныеАрхива = ЭтаОбработка.ПолучитьМакет("АрхивПрограммы");
	ИмяФайлаАрхива = КаталогУстановки + "Arc.zip";
	ДанныеАрхива.Записать(ИмяФайлаАрхива);
	ЧтениеZip = Новый ЧтениеZipФайла(ИмяФайлаАрхива);
	ЧтениеZip.ИзвлечьВсе(КаталогУстановки);
	ЧтениеZip.Закрыть();
	
	Скрипт = Новый COMОбъект("WScript.Shell");
	Скрипт.Run("" + КаталогУстановки + "pdftk.exe " + ИмяФайлаИсточник + " output " + ИмяФайлаРезультат + " owner_pw foopass", 0, 1);	
Показать


Может "коряво" но! Работает на х86 и х64
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Asya.Ozerova 40 07.07.20 21:39 Сейчас в теме
(1)Нашла DLL Ёксель, но там как я понимаю только 32 разрядная,
Может есть подобные решения под обе разрядности?
Может кто-то уже сталкивался с подобной проблемой?
3. serg33rus 21 08.07.20 10:00 Сейчас в теме
А какая конфигурация? Если я правильно понял вопрос, то средствами платформы файл можно подписать ЭЦП. Но это не защита от копирования, это защита от изменения. Если нужна именно защита от копирования, то как вариант, заархивировать его с паролем.
Штатными средствами поставить пароль на PDF не получится, насколько я знаю.
4. SerVer1C 748 08.07.20 10:32 Сейчас в теме
Может вам поможет https://infostart.ru/public/1217607/ ?
Только она под 32 бита
6. Asya.Ozerova 40 13.07.20 07:45 Сейчас в теме
(4) Может и помогла бы(
Но нет столько СМ
5. Asya.Ozerova 40 13.07.20 07:43 Сейчас в теме
Решила данную проблему с использованием PDFtk Server:
	КаталогУстановки = КаталогВременныхФайлов();
	КаталогУстановки = СтрЗаменить(КаталогУстановки + "\", "\\", "\") + "PDFtk\";
	ДанныеАрхива = ЭтаОбработка.ПолучитьМакет("АрхивПрограммы");
	ИмяФайлаАрхива = КаталогУстановки + "Arc.zip";
	ДанныеАрхива.Записать(ИмяФайлаАрхива);
	ЧтениеZip = Новый ЧтениеZipФайла(ИмяФайлаАрхива);
	ЧтениеZip.ИзвлечьВсе(КаталогУстановки);
	ЧтениеZip.Закрыть();
	
	Скрипт = Новый COMОбъект("WScript.Shell");
	Скрипт.Run("" + КаталогУстановки + "pdftk.exe " + ИмяФайлаИсточник + " output " + ИмяФайлаРезультат + " owner_pw foopass", 0, 1);	
Показать


Может "коряво" но! Работает на х86 и х64
9. selena72 06.10.21 23:57 Сейчас в теме
(5) Подскажите, пожалуйста, сталкивались ли вы при выполнении указанной команды Скрипт.Run с ошибкой "Произошла исключительная ситуация (0x80070002)" ? Не подскажете, в чем может быть причина такой ошибки?
10. Asya.Ozerova 40 10.10.21 15:06 Сейчас в теме
(9)
Произошла исключительная ситуация (0x80070002)

Скорее всего, у вас слетела регистрация компонента comcntr.dll. или компонент был удален.
7. d.batovskiy 13.07.20 11:42 Сейчас в теме
Попробуйте через
Новый ЗаписьZipФайла(<ИмяФайла>, <Пароль>, <Комментарий>, <МетодСжатия>, <УровеньСжатия>, <МетодШифрования>, <Кодировка>)
Параметры:
<ИмяФайла> (обязательный)
Тип: Строка.
Имя файла, куда будет записан архив.
<Пароль> (необязательный)
Тип: Строка.
Пароль, который будет назначен архиву.
Если пароль не назначен или является пустой строкой, то шифрование не происходит.
<Комментарий> (необязательный)
Тип: Строка.
Комментарий, описывающий ZIP-файл.
<МетодСжатия> (необязательный)
Тип: МетодСжатияZIP.
Метод сжатия, которым будет сжиматься архив.
Значение по умолчанию: Сжатие.
<УровеньСжатия> (необязательный)
Тип: УровеньСжатияZIP.
Уровень сжатия данных.
Значение по умолчанию: Оптимальный.
<МетодШифрования> (необязательный)
Тип: МетодШифрованияZIP.
Метод шифрования, которым будет зашифрован архив.
Значение по умолчанию: Zip20.
<Кодировка> (необязательный)
Определяет способ кодировки имен файлов внутри ZIP-файла.
Значение по умолчанию: Авто; КодировкаИменФайловВZipФайле.
8. Asya.Ozerova 40 14.07.20 08:56 Сейчас в теме
(7) А при чем тут архив?
Мне нужно было установить пароль на сам (имеющийся) PDF файл, для защиты его содержимого от копирования, чтоб в дальнейшем прикрепить во вложения эл.письма.
Пока выбрала PDFtk Server:
Перед запуском извлекаем из архива (поместила в шаблоны внешней обработки), во временный каталог 1С, "портированная" версию программы.
Выполняем действия.
Далее удаляем из Временного каталога свои файлы.
Пока остановилась на этом варианте
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)