Photon
Rear Admiral
- Registriert
- Apr. 2006
- Beiträge
- 5.141
Hallo Community,
ich würde gerne eine Reihe von PDF-Dateien in eine Webseite einbinden und dabei auf spezifische Stellen in den PDFs springen können. Ich weiß, dass man bei URLs eine Seitennummer mitgeben kann, das ist auf jeden Fall schon mal ein Anfang, allerdings wäre es viel besser, könnte man wirklich ganz gezielt an eine Stelle innerhalb einer Seite springen. Die Funktionalität ist eigentlich schon vorhanden, hier Beispiele:
Springen zu Seite 5 (page=...): https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf#page=5
Springen genau zu der Stelle mit der Parameter-Tabelle (nameddest=...): https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf#G4.1501771
Die Frage ist nur, wie kann ich solche nameddest-Anker einer existierenden PDF hinzufügen? Ich habe bisher recherchiert, dass man mit PyPdf nameddests hinzufügen kann, allerdings nur zu bestimmten Seitennummern, da die Funktion addNamedDestination nur Integer für das entsprechende Argument akzeptiert, siehe https://pythonhosted.org/PyPDF2/PdfFileMerger.html Aber da brauche ich ja kein nameddest dazu, es reicht die page-Option. Auslesen kann man aber die exakte Position einer namedest auf der Seite: https://unix.stackexchange.com/a/299232 Zudem würde ich die Anker gern nicht an einer Position auf der Seite festmachen sondern an einem bestimmten Text, so in etwa wie: Beim ersten Vorkommen von "bla" setze eine nameddest mit Label "blubb". Das Durchsuchen der PDF nach Strings und das Herausfinden ihrer Position scheint möglich zu sein: https://stackoverflow.com/questions...ing-is-located-in-a-pdf-document-using-python Aber das setzen einer namedest an dieser Position geht nicht, zumindest nicht mit addNamedDestination, aber vielleicht irgendwie von Hand?
Danke für alle Tipps und Anregungen!
Photon
ich würde gerne eine Reihe von PDF-Dateien in eine Webseite einbinden und dabei auf spezifische Stellen in den PDFs springen können. Ich weiß, dass man bei URLs eine Seitennummer mitgeben kann, das ist auf jeden Fall schon mal ein Anfang, allerdings wäre es viel besser, könnte man wirklich ganz gezielt an eine Stelle innerhalb einer Seite springen. Die Funktionalität ist eigentlich schon vorhanden, hier Beispiele:
Springen zu Seite 5 (page=...): https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf#page=5
Springen genau zu der Stelle mit der Parameter-Tabelle (nameddest=...): https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf#G4.1501771
Die Frage ist nur, wie kann ich solche nameddest-Anker einer existierenden PDF hinzufügen? Ich habe bisher recherchiert, dass man mit PyPdf nameddests hinzufügen kann, allerdings nur zu bestimmten Seitennummern, da die Funktion addNamedDestination nur Integer für das entsprechende Argument akzeptiert, siehe https://pythonhosted.org/PyPDF2/PdfFileMerger.html Aber da brauche ich ja kein nameddest dazu, es reicht die page-Option. Auslesen kann man aber die exakte Position einer namedest auf der Seite: https://unix.stackexchange.com/a/299232 Zudem würde ich die Anker gern nicht an einer Position auf der Seite festmachen sondern an einem bestimmten Text, so in etwa wie: Beim ersten Vorkommen von "bla" setze eine nameddest mit Label "blubb". Das Durchsuchen der PDF nach Strings und das Herausfinden ihrer Position scheint möglich zu sein: https://stackoverflow.com/questions...ing-is-located-in-a-pdf-document-using-python Aber das setzen einer namedest an dieser Position geht nicht, zumindest nicht mit addNamedDestination, aber vielleicht irgendwie von Hand?
Danke für alle Tipps und Anregungen!
Photon