Seiten im PDF-Dokument nach dem Zufallsprinzip neu anordnen

1553
synaptik

Ich suche nach einer Reihe von Befehlen, um die Reihenfolge der Seiten in einem vorhandenen PDF-Dokument zufällig zu bestimmen.

2
Siehe auch [Wie kann ich Seiten aus einer PDF-Datei in zufälliger Reihenfolge neu mischen?] (Http://unix.stackexchange.com/q/209637/80216) (unter Unix & Linux) G-Man vor 8 Jahren 0

1 Antwort auf die Frage

2
synaptik

Es stellt sich heraus, dass es eine nette Python-Bibliothek pyPDF gibt, die im folgenden Skript verwendet werden kann, um die Reihenfolge der Seiten in einem PDF-Dokument zufällig zu bestimmen.

Das folgende Skript ruft es auf mixpdfund erstellt eine Kopie einer PDF-Eingabedatei mit zufällig neu angeordneten Seiten, wenn diese von der Anweisung aufgerufen werden mixpdf myinputfile.pdf.

#!/usr/bin/python  import sys import random  from pyPdf import PdfFileWriter, PdfFileReader  # read input pdf and instantiate output pdf output = PdfFileWriter() input1 = PdfFileReader(file(sys.argv[1],"rb"))  # construct and shuffle page number list pages = list(range(input1.getNumPages())) random.shuffle(pages)  # display new sequence print 'Reordering pages according to sequence:' print pages  # add the new sequence of pages to output pdf for page in pages: output.addPage(input1.getPage(page))  # write the output pdf to file outputStream = file(sys.argv[1]+'-mixed.pdf','wb') output.write(outputStream) outputStream.close()