PyPdf2 verschachtelte Lesezeichen mit demselben Namen funktionieren nicht

8

Wenn Sie mehrere Lesezeichen mit demselben Namen verschachteln, berücksichtigt PyPdf2 dies nicht. Unterhalb des selbständigen Python-Codes, um zu testen, was ich meine (Sie müssen 3 PDF-Dateien namens a, b und c im Arbeitsordner haben, um es zu testen)

%Vor%

Ich würde erwarten, dass das resultierende PDF drei Ebenen von verschachtelten Lesezeichen hat

%Vor%

aber stattdessen bekomme ich

%Vor%

Kann ich sicherstellen, dass dies nicht passiert?

BEARBEITEN: Ich habe die Variable pagenum entfernt, da diese 3 Lesezeichen auf dieselbe Seite zeigen sollen.

    
Chapo 22.03.2017, 02:41
quelle

1 Antwort

4

Dies scheint ein Fehler mit PdfFileMerger.addBookmark() Methode zu sein. Es gibt einige Details hier

Unten finden Sie einen Workaround mit PdfFileWriter und seiner addBookmark() -Methode. Mit diesem kann ich 3 verschachtelte Lesezeichen, mit demselben Namen, alle auf der gleichen Seite bekommen:

%Vor%

Code mit PdfFileWriter Workaround:

%Vor%

Alternativ habe ich versucht, die PyPDF2 -Bibliothek zu modifizieren, um dieses Problem zu lösen, obwohl ich bei Python nicht sehr erfahren bin und neue / andere Probleme eingeführt habe! Ich habe eine Pull-Anfrage an die Betreuer gesendet, aber bis dahin konnten Sie meine Verzweigung klonen und PyPDF2 von dort installieren:

%Vor%

Danach solltest du die gewünschte Verschachtelung von PdfFileMerger.addBookmark() bekommen können. Ich habe es für den obigen Fall getestet, habe aber darüber hinaus keine Tests durchgeführt.

    
kabdulla 24.03.2017, 03:52
quelle

Tags und Links