PDFTK: pdfs, die bei geöffnetem Lesezeichenfenster angezeigt werden

679
Matt Murphy

Ist es mit pdftk möglich, eine mit Lesezeichen versehene PDF-Datei zu rendern, die mit der Anzeige von Lesezeichen geöffnet wird? Ich konnte das mit den verschiedenen GUI-Tools im Laufe der Jahre als Option festlegen (Ipro +, PDFDocs usw.), aber ich konnte keine Dokumentation finden, die darauf hinweist, dass pdftk 'sozusagen' weiß ', wie Setzen Sie dieses Flag, und ich habe nach dem Vergleich von Speicherabbildern noch keinen wahrscheinlichen Wert gefunden

pdftk input.pdf output_data output data.txt 

von Dateien mit Lesezeichen, die standardmäßig gegen Dumps von Dateien angezeigt werden, die dies nicht tun.

2

2 Antworten auf die Frage

2
Pimp Juice IT

Ist es mit pdftk möglich, eine mit Lesezeichen versehene PDF-Datei zu rendern, die mit der Anzeige von Lesezeichen geöffnet wird?

Ich recherchierte ein wenig zu diesem Thema und wollte eine Antwort mit Referenzen zusammenstellen.

  1. Laut diesem Mann aus diesem Beitrag, der behauptet, der pdftkBetreuer zu sein, heißt es:

    Wenn Sie pdftk verwenden, um eine neue PDF-Datei aus PDF-Seiten oder -Dokumenten zusammenzustellen (über die cat-Operation), hat die neue PDF-Datei keine Anzeigeeinstellungen. Daher wird die resultierende PDF-Datei mit den Standardeinstellungen angezeigt, die in den Voreinstellungen Ihres Viewers festgelegt sind.

    Quelle

Ich denke, das heißt, wenn Sie ein neues PDF-Dokument erstellt haben oder ein neues PDF-Dokument mit catVorgängen erstellt haben oder mit einem PDF-Dokument begonnen haben, das diese Eigenschaften der ersten Ansichts-Metadaten nicht bereits in sich hatte, dann wird es PDFtk tun Öffnen Sie sich in einer "Ansicht", die geöffnet werden soll. Die standardmäßige PDF-Ansichtssoftware gibt jedoch an, dass sie geöffnet werden soll. Wenn das Dokument keine Metadaten enthält, die sich auf die Lesezeichenansicht beziehen, kann es natürlich nicht verwendet werden.


  1. Gemäß der PDFtk-Man-Seite gibt es zwei Optionen, die sich auf Metadaten und Lesezeichen beziehen, und eine weitere Anweisung, die sich auf Lesezeichen bezieht.

    dump_data

    Liest eine einzelne PDF-Eingabedatei und meldet ihre Metadaten, Lesezeichen (a / k / a-Konturen), Seitenmetriken (Medien, Rotation und Beschriftungen) und andere Daten an den angegebenen Ausgabedateinamen oder (wenn keine Ausgabe angegeben ist) an stdout. Nicht-ASCII-Zeichen werden als numerische XML-Entitäten codiert. Erstellt kein neues PDF.

    update_info <info data Dateiname | - | PROMPT>

    Ändert die Lesezeichen und Metadaten in einem einzelnen PDF-Info-Wörterbuch so, dass sie der Eingabedatendatei entsprechen. Die Eingabedatendatei verwendet dieselbe Syntax wie die Ausgabe von dump_data. Nicht-ASCII-Zeichen sollten als numerische XML-Entitäten codiert werden. Die im XMP-Stream der PDF-Datei gespeicherten Metadaten werden dabei nicht geändert (sofern vorhanden). Zum Beispiel:

    pdftk in.pdf update_info in.info output out.pdf 

    Wenn ein PDF-Handle angegeben wird, aber keine Seiten angegeben sind, wird das gesamte PDF verwendet. Wenn für keine der eingegebenen PDFs Seiten angegeben werden, werden auch die Lesezeichen der Eingabe-PDFs zusammengeführt und in die Ausgabe aufgenommen.

    Quelle

Ich denke, das bedeutet, wenn Sie ein PDF-Dokument mit Lesezeichen-Metadaten haben, müssen Sie dump_datazuerst die Option verwenden, um diese Metadaten in eine flache Datei zu exportieren. Sie verwenden dann die Flat-Datei mit den darin enthaltenen Metadaten, mit der update_infoOption, die korrelierten Metadaten aus dieser Datei in die von Ihnen erstellte PDF-Datei usw. zu übernehmen.

Wenn catim PDFtk-Vorgang keine Seiten angegeben werden (z. B. Option), klingt es außerdem wie das gesamte PDF-Dokument, und die zugehörigen Metadaten einschließlich der Standardeinstellungen für "view" werden in die Ausgabedatei eingefügt.

0
carbontracking

Ich hatte die gleiche Frage, bevor ich deine sah. Das Problem bei dump_data und update_info ist, dass die von Ihnen gesuchte Eigenschaft, PageMode, nicht in der Ausgabe von dump_data enthalten ist.

Wenn Sie in meiner Frage suchen https://unix.stackexchange.com/questions/398806/how-to-display-bookmarks-in-the-initial-view-when-opening-a-pdf-file/399144#399144 Sie Ich werde sehen, dass ich (evermap.com/autometadata.asp) verwendet habe, um eine Zwischenlösung bereitzustellen, und dann die geänderten / ursprünglichen Dateien vergleichen, um zu sehen, was der Unterschied war.

Immer noch keine saubere Befehlszeilenlösung

Viele Grüße / Colm