Wygeneruj plik PDF, którego nie można edytować

12

Czy można wygenerować plik PDF, którego nie można edytować?

Obecnie dokumenty, które generuję, pdflatexmogą być edytowane za pomocą aplikacji takich jak Adobe Acrobat X Pro.

Mam niektóre dokumenty PDF, których nie można edytować za pomocą programu Acrobat, więc jak mogę je odtworzyć za pomocą LaTeX?

Chico Sokol
źródło
Jednym ze sposobów byłoby wygenerowanie obrazów (ex png), a następnie utworzenie pliku PDF z obrazów.
Peter Grill,
2
Wiele punktów tutaj zawartych odpowiedzi zawiera poprzednie posty w tagu drm . Być może spójrz na to.
Joseph Wright

Odpowiedzi:

11

PDF Toolkit jest darmowa, aplikacja linii poleceń, które zapewnia tę funkcję. Ustawiasz „hasło właściciela” ( owner_pw <password>) i określasz, które właściwości są dozwolone dla dokumentu. Oto przykład (ze strony Pdftk Przykłady ), który szyfruje dokument z siłą 128-bitową i pozwala tylko na drukowanie:

pdftk mydoc.pdf wyjście mydoc.128.pdf właściciel_pw foopass pozwala na drukowanie

Daje następujące właściwości dokumentu w Adobe:

wprowadź opis zdjęcia tutaj

Można również ustawić inne uprawnienia (ze strony Pdftk Man ):

[zezwól <uprawnienia>]

Uprawnienia są stosowane do wyjściowego pliku PDF tylko wtedy, gdy określono siłę szyfrowania lub podano hasło właściciela lub użytkownika. Jeśli uprawnienia nie są określone, domyślnie są ustawione na „brak”, co oznacza, że ​​wszystkie następujące funkcje są wyłączone.

Sekcja uprawnień może zawierać jedną lub więcej z następujących funkcji:

  • Drukowanie - drukowanie najwyższej jakości
  • DegradedPrinting - Drukowanie w niższej jakości
  • ModifyContents - umożliwia także montaż
  • montaż
  • CopyContents - umożliwia także ScreenReaders
  • ScreenReaders
  • ModifyAnnotations - umożliwia również FillIn
  • Wypełnić
  • AllFeatures - Pozwala użytkownikowi wykonać wszystkie powyższe i najwyższej jakości drukowanie.

Jak się okazuje, te funkcje bezpieczeństwa są bardzo zależne od widza i istnieją na to sposoby.

Werner
źródło
Czy to jest solidne? W większości przypadków ograniczenia te można łatwo obejść, przechodząc do skryptu pocztowego i z powrotem do formatu pdf.
Alfred M.,
@AlfredM .: Nie sprawdziłem. Czy ty?
Werner
nie, byłem po prostu ciekawy.
Alfred M.,
3
@ Alfred M .: Każde takie rozwiązanie nie jest niezawodne z definicji. Rzeczywiście, jeśli można zobaczyć zawartość pliku PDF, można go również zapisać w innym pliku PDF / PS / ... To tylko kwestia znalezienia odpowiednich narzędzi (Acrobat odmówi tego nie dlatego, że nie może, ale dlatego, że Adobe tego nie chce ).
Zastosowany tutaj DRM jest słaby, ale wciąż wystarczająco silny, aby uczciwi ludzie byli uczciwi. Dopóki twoje oczekiwania są odpowiednio dostosowane, jest wystarczająco solidne. Pomyśl o tym jak o umowie między producentem dokumentów a oprogramowaniem korzystającym z plików PDF. Zgodne oprogramowanie będzie przestrzegać umowy, a zatem będzie działać zgodnie z wymienionymi ograniczeniami. Adobe, jako twórca plików PDF, oczywiście wiernie przestrzega umowy. Jednak pod maską cały DRM jest śmiertelnie wadliwy i zależy od arbitralnego prawa, takiego jak DMCA, aby uniemożliwić użytkownikom jego obalenie.
RBerteig
10

Dodam to jako odpowiedź, ponieważ w jakiś sposób odpowiada na pytanie i jest długie i nieco skomplikowane. Krótka odpowiedź brzmi: nie, nie jest to możliwe. Po przeczytaniu pliku PDF na ekranie oznacza to, że wszystkie informacje są dostępne, a plik PDF można edytować. Programy Adobe oczywiście nie oferują takiej funkcjonalności. Ale jeśli chcesz, aby plik PDF był edytowalny, zawsze możesz użyć ImageMagick:

convert -density 600 myfile.pdf myfile.png

Następnie, ponieważ jakość jest bardzo wysoka, każdy wystarczająco dobry OCR będzie mógł przekonwertować go z powrotem na tekst. I z pewnością są inne możliwości. Jak wspomnieli inni ludzie, możesz zdekodować plik PDF na PS (co jest możliwe, ponieważ do pewnego stopnia to właśnie musi zrobić czytnik PDF), a następnie przekonwertować go z powrotem, i masz edytowalny plik PDF.

Wniosek: Możesz chronić plik PDF przed edycją przez „normalnych” użytkowników, ale nie możesz chronić go przed edycją przez osoby, które wiedzą, co robią.

Siema'
źródło
Nawet „normalni” użytkownicy mogą drukować (jeśli jest to dozwolone) do formatu PDF.
Istnieją metody, dzięki którym plik PDF drukuje całkowicie czarną stronę dla zwykłego użytkownika. Wiem, że niektóre czasopisma naukowe robią to, aby ludzie mogli zobaczyć artykuł, ale go nie wydrukować. Mimo to, nawet to można złamać, to tak samo, jak uczynienie go „nieedytowalnym”.
yo „
@tohecz: Jestem pewien, że masz rację; ale uważam, że pomysł na „niedrukowalny pdf” jest zarówno zabawny, jak i tragiczny. Trochę jak posiadanie programu, którego nie można uruchomić. Jeśli nie jest do drukowania, pdf jest okropnym formatem do wszystkiego innego.
Brent.Longborough
@ Brent.Longborough Nie mogę się zgodzić, tak myślę. Jest przenośny (tzn. Działa na wszystkich platformach, w tym xindles) i jest dobrze skalowalny. I to właśnie ludzie lubią najbardziej, gdy chcą „dokumentu”.
yo „
1
@Qrrbrbirlbel: Został tak nazwany przez jego twórcę, Adobe. Nie mój pomysł na model odniesienia dla absolutnej prawdy. „Portable” to modne hasło korporacyjne, służące do sprzedawania pomysłów spiczastym menedżerom.
Brent.Longborough