Ich habe heute selbst eines dieser Dokumente bekommen.
Da die Erklärung, was den technischen Supportmitarbeitern falsch ist, wahrscheinlich mehr Zeit in Anspruch nahm als der Versuch, sie selbst zu extrahieren, erstellte ich ein kleines Python-Skript, um das in der Sig- Datei eingebettete PDF- Dokument zu extrahieren und zu entschlüsseln .
Vorausgesetzt, es gibt eine einzelne angehängte PDF- Datei und das Sig- Dateiformat ist dasselbe wie meines.
Ich hoffe, dass jemand es nützlich finden würde.
import base64 import xml.etree.ElementTree as ET import sys def decode(infile, outfile): tree = ET.parse(infile) xmlns = '' b64 = tree.find("./SignaturePackage/Signature/Object/DocumentContent".format(xmlns)).text txt = base64.b64decode(b64) with open(outfile, 'bw+') as f: f.write(txt) if __name__ == "__main__": if len(sys.argv) < 2: print('usage: python unpack.py <input_filename>') exit(1) infile = sys.argv[1] outfile = 'out.pdf' decode(infile, outfile) print('Done. Result saved to '.format(outfile))
Ich habe einen Grundstein für dieses Skript erstellt.
Sie müssen python 3.x installiert haben, die sig- Datei und das Python-Skript in demselben Ordner ablegen (oder den Dateipfad zum Skript angeben) und wie folgt ausführen:
python unpack.py <sig_filename>
Dadurch wird eine Datei namens out.pdf im gleichen Ordner erstellt.