Wie man Kästen in einem PDF mit fdfgen in Python überprüft

Ich arbeite an einem Python 3.4 Projekt, das fdfgen und pdftk benutzt, um ein pdf auszufüllen. Ich kann Textfelder ganz einfach ausfüllen. Die Sache, die ich nicht herausfinden kann, ist, wie man eine Kiste überprüft.

Hier ist der Teil meiner Python-Skript:

fields = generate_vs300_field_list(answers_dict) # Returns list of tuples of fields and text to be added to pdf fdf = forge_fdf("", fields, [], [], []) logging.debug('Called forge_fdf function. About to open fdf_file.') fdf_file = open(os.path.join(destination_dir, 'vs300.fdf'), 'wb') logging.debug('Opened fdf_file. About to write to it.') fdf_file.write(fdf) fdf_file.close() logging.debug('Wrote to fdf_file and closed it.') cmd = 'pdftk "{0}" fill_form "{1}" output "{2}" dont_ask'.format( './styles/vs300.pdf', os.path.join(destination_dir, 'vs300.fdf'), os.path.join(destination_dir, 'vs300.pdf') ) logging.debug('About to send this command to pdftk: ' + cmd) os.system(cmd) logging.debug('Command sent. Removing temporary fdf file.') os.remove(os.path.join(destination_dir, 'vs300.fdf')) 

Ich kann erfolgreich eine Liste von Tupeln erstellen, die an forge_fdf gefüttert werden sollen, wobei das erste Element im Tupel der Feldname ist und der zweite der Text für das Feld, das ich hinzufügen möchte.

Was kann ich nicht herausfinden, wie zu tun ist, um eine Box zu überprüfen. Wenn ich pdftk dump_data_fields auf meinem pdf laufe, hier ist der Eintrag für die Checkbox Ich versuche zu überprüfen:

 FieldType: Button FieldName: Absolute Divorce FieldNameAlt: Absolute Divorce FieldFlags: 0 FieldJustification: Left FieldStateOption: Off FieldStateOption: On 

Ich bin mir nicht sicher, wie man a) die fdf-Datei so umwandelt, dass es das Kontrollkästchen auftaucht, als überprüft worden ist, und b), wie man diese Änderung mit fdfgen tatsächlich durchführt.

One Solution collect form web for “Wie man Kästen in einem PDF mit fdfgen in Python überprüft”

Kontrollkästchenfelder durch fdfgen gehen durch die Variable fdf_data_names und nicht fdf_data_strings. Sie sollten auch das PDF selbst überprüfen, um zu sehen, was das Kontrollkästchen für seinen "on" Trigger verwendet.

Sie rufen zu forge_fdf würde dann aussehen:

 forge_fdf("", fields, data_names) 
  • Python: Eine verschachtelte Liste als Eingabe aufnehmen?
  • Regex, um Whitespace in csv-Datei mit Anführungszeichen zu löschen, um Text zu trennen?
  • Ertrag von coroutine vs Ausbeute aus Aufgabe
  • Globaler vs. lokaler Namensraum Leistungsunterschied
  • Effizientes Multiprocessing von massiven, Brute-Kraft-Maximierung in Python 3
  • Warum sind str.count ('') und len (str) geben unterschiedliche Ausgabe?
  • Wie man pos_tag_sents () auf pandas dataframe effizient anwendet
  • UnicodeDecodeError in Python beim Lesen einer Datei, wie man den Fehler ignoriert und zur nächsten Zeile springt?
  • Regex-Matching zwischen zwei Strings?
  • Python 3 Anmerkungen: Tippen Sie auf eine Liste eines angegebenen Typs (PyCharm)
  • Python-Libclang-Bindungen auf Windows können keine Übersetzungseinheit aus dem sublimen Text initialisieren
  • Python ist die beste Programmiersprache der Welt.