ich versuche gerade die Berechtigungen zu folgenden anzupassen:
1) Drucken hohe Auflösung erlaubt
2) Kommentieren erlaubt
3) alles andere nicht erlaubt
Die KI sagt Bit(1) (von rechts nach links zu lesen) wäre Drucken z.B, d.h. pdf_permissions_flag_bin = '0b0000000001' sollte mir das liefern oder? Tut es aber nicht. Ich bin etwas am verzweifeln. Weiß wer was der Fehler sein könnte?
Meine pdf zeigt mir mit pdf xchange 10 Berechtigungseinstellungen.
Was sagt die KI ?
"In der Regel repräsentieren die Bitmuster die verschiedenen Berechtigungseinstellungen für ein PDF-Dokument. Die Länge des Bitmusters hängt von der Anzahl der Berechtigungen ab, die von der PDF-Bibliothek oder dem Programm unterstützt werden. Wenn das Programm sagt, dass es 10 Berechtigungseinstellungen gibt, erwartest du in der Tat ein Bitmuster mit 10 Stellen, nachdem '0b' präfixiert wurde.
Hier sind einige weitere mögliche Bitmuster mit einer Länge von 10 Stellen:
'0b0000000000': Keine Berechtigung (alle Berechtigungen deaktiviert).
'0b1111111111': Vollständige Berechtigung (alle Berechtigungen aktiviert).
'0b0000000010': Drucken erlaubt.
'0b0000000100': Kopieren von Inhalten erlaubt.
'0b0000001000': Bearbeiten erlaubt.
'0b0000010000': Kommentieren und Anmerkungen hinzufügen erlaubt.
'0b0000100000': Ausfüllen von Formularen erlaubt.
'0b0001000000': Textextraktion erlaubt.
'0b0010000000': Drucken in hoher Qualität erlaubt.
'0b0100000000': Assemblieren von Dokumenten erlaubt."
'0b0000000010': Drucken erlaubt. geht z.B. so nicht, hingegen liefert '0b0000010000' Kopieren erlaubt und '0b0000100000' gleich mehrere Dinge gleichzeitig: Formulare ausfüllen, Signieren und Kommentieren
VieleN Dank im Voraus !
P.S. Ich bin Noob.
Code: Alles auswählen
import PyPDF2
with open("test.pdf", 'rb') as pdf_file:
pdf_reader = PyPDF2.PdfReader(pdf_file)
pdf_writer = PyPDF2.PdfWriter()
for page_num in range(len(pdf_reader.pages)):
pdf_writer.add_page(pdf_reader.pages[page_num])
#Inhalt kopieren erlaubt pdf_permissions_flag_bin = '0b0000010000'
# Formularfelder ausfüllen, Signieren und Kommentieren erlaubt pdf_permissions_flag_bin = '0b0000100000'
pdf_permissions_flag_bin = '0b0000000001'
pdf_permissions_flag_int = int(pdf_permissions_flag_bin, 2)
pdf_writer.encrypt(user_pwd='', owner_pwd='owner_pwd', use_128bit=True, permissions_flag=pdf_permissions_flag_int)
with open("output_file.pdf", 'wb') as pdf_output:
pdf_writer.write(pdf_output)