2011-08-08 16 views
6

Mam tablicę C# i muszę wiedzieć, czy jest to dokument PDF chroniony hasłem. Jak mogę dokonać tego ustalenia?Czy ta tablica bajtów jest dokumentem PDF zabezpieczonym hasłem?

Sprawdzam dokument dotyczący pliku magicznego pliku PDF, aby ustalić, czy jest to dokument w formacie PDF, ale nie wiem, co jest najlepsze w przypadku określania, czy jest on chroniony hasłem.

Nie muszę otwierać dokumentu (chociaż, dopóki nie jest wymagany interfejs użytkownika - jest to proces w tle, jestem w porządku z robieniem tego, jeśli to pomaga).

Po prostu muszę wiedzieć, czy istnieje hasło do tego dokumentu PDF.

EDIT: Jeśli cytujesz iTextSharp, byłbym bardzo wdzięczny, gdybyś przytoczył konkretny zasób w tym API, który rozwiązuje ten problem.

+0

pytanie jest dość nieprecyzyjne ... możliwe są dwa rodzaje "haseł" na pliku PDF ... użytkownik i mistrz ... może istnieć tylko hasło główne ... w zależności od ustawionego "uprawnienia" być, że użytkownik nie potrzebuje passowrd, ale na przykład nie może wydrukować dokumentu ... więc co dokładnie chcesz znaleźć w tym strumieniu bajtów? – Yahia

+0

Chcę wiedzieć, czy istnieje jeden z dwóch typów haseł w dokumencie: użytkownik lub właściciel ("master", jak go nazwałeś). – lance

Odpowiedz

2

Istnieje kilka możliwości zabezpieczania hasłem PDF, niektóre zdefiniowane przez Adobe ("standard") i jako część standardu możliwe jest posiadanie tak zwanych "alternatywnych programów do obsługi bezpieczeństwa".

mimo wszystko można wykryć w zasadzie przez sprawdzanie odpowiednich „słowników” jak opisano na stronach 115 - 136 spec pdf - patrz http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf

+0

To nie była lekka lektura, ale dostarczyła nam informacji potrzebnych do ustalenia, co musimy określić. – lance

2

Docotic.Pdf library mogą być wykorzystane do przeprowadzenia takiej kontroli.

Biblioteka zapewnia group of methods, której można użyć do sprawdzenia, czy bajty, strumień lub plik zawierają chroniony hasłem dokument PDF.

Proszę spojrzeć na przykład, który pokazuje how to check if an existing PDF document is password protected.

Nota prawna: Pracuję dla firmy.

+0

Cieszę się, że podłączyłeś tutaj swój interfejs API. To wygląda na znacznie prostszą opcję niż to, co zrobiliśmy. – lance