Ich muss mehrere (hunderte) PDF-Dokumente programmatisch analysieren und kombinieren und die Seiten auf spezielle Weise miteinander verknüpfen. Jede PDF enthält Text an jedem Ort, zu dem ein Link gehört, und gibt an, wozu er verlinken soll. Ich verwende pdfminer
, um den Ort und den Text zu extrahieren, wo die Links sein sollten; Jetzt muss ich nur diese Links erstellen.Fügen Sie einen Dokumentverweis zu PDF hinzu
Ich habe einige Nachforschungen gemacht und festgestellt, dass PyPDF2
dies angeblich tun kann. Auf jeden Fall gibt es eine scheinbar unkomplizierte Methode, die behauptet, den Job zu erledigen. Ich kann es einfach nicht zur Arbeit bringen.
from PyPDF2 import PdfFileWriter
from PyPDF2.pdf import RectangleObject
out = PdfFileWriter()
out.insertBlankPage(800, 1000)
out.insertBlankPage(800, 1000)
# rect = [400, 400, 600, 600] # This doesn't seem to work either
rect = RectangleObject([400, 400, 600, 600])
out.addLink(0, 1, rect) # link from first to second page
with open(r'C:\temp\test.pdf', 'wb') as outf:
out.write(outf)
Der obige Code erzeugt eine schöne Zwei-Seiten-PDF mit nichts drin, zumindest soweit ich das beurteilen kann. Weiß jemand da draußen, wie dies erreicht werden könnte? Oder zumindest ein Hinweis darauf, wo ich falsch liege?
Eine Lösung muss PyPDF2 nicht verwenden, solange die Bibliothek frei lizenziert ist. Streng genommen ist Python nicht einmal eine Voraussetzung, aber es wäre schön, dies in meine aktuelle Struktur zu integrieren, ohne eine andere Sprache zu hacken.