Снимите защиту DOC и DOCX с помощью WIN32COM с PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Снимите защиту DOC и DOCX с помощью WIN32COM с Python

Сообщение Anonymous »

Я пытаюсь снять защиту с файла документа Word с помощью win32com, но приведенный ниже код выполняется без ошибок и не снимает защиту.
Я провел здесь несколько поисков и попробовал несколько вариантов этого метода. Код, но без успеха.
Мой тест на документ Word был создан с помощью Protection_type = 2, и приведенный ниже код распознает OK, мне просто нужен способ незащитить этот код или другой бесплатный код.
Будем благодарны за любую помощь!

Код: Выделить всё

import win32com.client

def protect_file(pFileName, pPassword):
word = win32com.client.gencache.EnsureDispatch('Word.Application')

word.Visible = False

doc = word.Documents.Open(pFileName, PasswordDocument=pPassword)

doc.Protect(Type=2, NoReset=True, Password=pPassword)

doc.Save()

doc.Close()

word.Quit()

def unprotect_file(pFileName, pPassword):

word_app = win32com.client.gencache.EnsureDispatch('Word.Application')
word_app.Visible = False

try:

doc = word_app.Documents.Open(pFileName, PasswordDocument=pPassword)

protection_type = doc.ProtectionType

if protection_type != -1:

if protection_type == 2:

print(f'Protection Type : {protection_type} -> wdAllowOnlyComments' )

elif protection_type == 3:

print(f'Protection Type : {protection_type} -> wdAllowOnlyRevisions' )

elif protection_type == 4:

print(f'Protection Type : {protection_type} -> wdAllowOnlyFormFields' )

doc.Unprotect
doc.Save()

print(f'Document saved !')

else:
print(f'{pFileName} inst protected !')

except Exception as e:

print(f'Error : {e}')

finally:
if doc:
doc.Close(SaveChanges=True)
word_app.Quit()

Я пытался использовать Comtypes импорта с некоторыми вариантами, но безуспешно.
Я также пытался использовать gpt чата с некоторыми вариантами, но безуспешно.

Подробнее здесь: https://stackoverflow.com/questions/785 ... ith-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблемы с печатным DOCX с использованием Win32com Python
    Anonymous » » в форуме Python
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с печатным DOCX с использованием Win32com Python
    Anonymous » » в форуме Python
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Как прочитать публичный Google Doc, используя Google Doc API?
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Generator Doc Doc API -генератор Boot в конвейере CI/CD и какой язык
    Anonymous » » в форуме JAVA
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Как поддерживать порядок в документе docx при вставке элементов с помощью doc.element.body.append() и функций высокого у
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»