Usunięcie hasła pliku z linii komend

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO
siemaeniu
Posty: 3
Rejestracja: pn gru 23, 2013 2:56 pm

Usunięcie hasła pliku z linii komend

Post autor: siemaeniu »

Witam wszystkich

Nie wiem, czy to jest jako makro, ale chyba tak.

Potrzebuję następującej funkcjonalności:

Mam plik z hasłem "password". Otwierając go graficznie, wklepuję hasło z palca. Dokument otwiera się, mogę go zapisać bez hasła.

Czy jest możliwość zrobić to samo z linii komend?

Mam hasła do plików, chcę je otwierać z hasłem podanym jako parametr i zapisywać bez hasła.

Piszę kod w Pythonie i potrzebuję konwersję DOC-a na DocBooka, a zahasłowanych plików nie da się przekowertować ;(

W razie potrzeby proszę o przeniesienie wątku do działu dla Writera.

Z góry dziękuję za pomoc ;)
LibreOffice 3.5.7.2 Ubutnu 12.04 LTS
Jan_J
Posty: 4653
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Usunięcie hasła pliku z linii komend

Post autor: Jan_J »

Przez przekazanie parametru do funkcji wczytującej dokument.
http://www.openoffice.org/api/docs/comm ... iptor.html
http://api.libreoffice.org/docs/idl/ref ... iptor.html
Przykład:

Kod: Zaznacz cały

sub test()
   dim properties(0) as new com.sun.star.beans.PropertyValue
   url = convertToURL("ścieżka do Twojego dokumentu.odt")
   properties(0).Name = "Password"
   properties(0).Value = "hasło Twojego dokumentu"
   doc = StarDesktop.loadComponentFromUrl(url, "_blank", 0, properties())
end sub
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
siemaeniu
Posty: 3
Rejestracja: pn gru 23, 2013 2:56 pm

Re: Usunięcie hasła pliku z linii komend

Post autor: siemaeniu »

Bardzo dziękuję za odpowiedź ;)

Czy mógłbyś podrzucić jeszcze kod do zapisu tego pliku bez hasła jako DocBook?

*Oczywiście poczytam też dokumentację tego, co otrzymałem w linkach ;)

Mój dokument jest w DOC-u.

Czy przy konwersji wielu plików będzie pokazywać się jakieś okienko? Pytam na podstawie innego wątku.
LibreOffice 3.5.7.2 Ubutnu 12.04 LTS
Jan_J
Posty: 4653
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Usunięcie hasła pliku z linii komend

Post autor: Jan_J »

siemaeniu pisze:Czy mógłbyś podrzucić jeszcze kod do zapisu tego pliku bez hasła jako DocBook?.
DocBook to czysty XML. Nie obsługuje zapisu z hasłem. Kodu nie podam, bo nie chce mi się go pisać i sprawdzać, a gotowca nie mam przy sobie. Przekazujesz metodzie zapisującej dokument (doc.storeAsURL) parametr z nazwą filtra wyjścia. Szczegóły w dokumentacji.
Czy przy konwersji wielu plików będzie pokazywać się jakieś okienko? Pytam na podstawie innego wątku.
Niby dlaczego? pracujemy na poziomie porównywalnym z tym, co się dzieje po zatwierdzeniu dialogu FileOpen.
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
siemaeniu
Posty: 3
Rejestracja: pn gru 23, 2013 2:56 pm

Re: Usunięcie hasła pliku z linii komend

Post autor: siemaeniu »

Bardzo Ci dziękuję za pomoc. Domyślam się, że podany przez Ciebie kod to makro. Teraz będę musiał jeszcze wpleść ten kod używając py-UNO w mój kod pythonowy. Spróbuję poczytać na ten temat, ale nigdy nie zajmowałem się API w LibreOffice.
LibreOffice 3.5.7.2 Ubutnu 12.04 LTS
Jan_J
Posty: 4653
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Usunięcie hasła pliku z linii komend

Post autor: Jan_J »

Mój kod to UNO API + Basic. Trzeba przetłumaczyć na Pythona.
JJ
LO (26.2) ∙ Python (3.13|3.10) ∙ Unicode 17 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ