2017-02-23 4 views
0

Ich weiß über Doc.SetOCGOrder() und dergleichen, aber anscheinend die Acrobat API bietet keine Mittel zum Entfernen von Schichten (aka optionale Inhaltsgruppen, ocgs), nur um sie vor Benutzern zu verbergen, während sie über Skripting zugänglich bleiben.Wie programmgesteuert PDF-Ebenen entfernen?

Ich bin nicht gezwungen, Acrobat zu verwenden, in der Tat würde ich eine FOSS-Lösung bevorzugen (oder zumindest Freeware) mit z. oder . bearbeiten Es gibt another post mit , die leider nicht kostenlos ist. Gibt es eine Möglichkeit, dieses Verhalten in Acrobat JS oder zu portieren? Im Wesentlichen scheint die Antwort den Inhalt jeder Seite zu durchlaufen, der die Ebenen zu enthalten scheint.

(Zur Zusammenführung, merke ich pdftk Schichten nicht entfernt, wenn mehrere Dateien verschmelzen, so kann man einfach pdftk A=input.pdf B=input.pdf cat A1-end output output.pdf.)

+0

WIP-Idee: Machen Sie Ebenen unsichtbar zuerst, dann verwenden 'pdftk' zu verschmelzen. Aber löscht das wirklich den Inhalt der Ebene? –

+0

Möchten Sie den Inhalt der Ebene zusammen mit ihrer Definition entfernen oder möchten Sie lediglich die Information entfernen, dass sich diese Ebene in einer Ebene befindet? Außerdem, für welche Programmierumgebungen interessieren Sie sich? – mkl

+0

@mkl Ich möchte den Inhalt der Ebene wirklich entfernen. Ansonsten könnte ich die Acrobat-API verwenden und die Eigenschaften ändern (obwohl ich nicht sicher bin, ob ich einfach 'locked' und' initState' verwenden oder die 'intents' ändern/leeren müsste - tatsächlich, https: // www. uvsar.com/projects/acrobat/indesignfixups/ schlägt vor, dass ich es über 'setOCGOrder'" entfernen "müsste. –

Antwort

0

Mein Ansatz so weit: Für die relevanten Schichten über GetOCGs()locked=true und sowohl initState=false und state=false eingestellt erhalten. Verwenden Sie dann SetOCGOrder(), um die Ebene aus der Ebenenansicht zu entfernen. Leider ist das nicht perfekt, da ich in Acrobat DC immer noch "Alle Ebenen anzeigen" im Ebenenfenster auswählen kann, in dem die Ebene immer noch angezeigt wird. Man könnte jetzt alle Ebenen zusammenführen, aber ich habe weder eine Option gefunden, um dies programmatisch zu erreichen, noch glaube ich, dass dadurch die Elemente der versteckten Ebene tatsächlich entfernt würden.

0

Sie können dies nicht programmgesteuert tun, aber Sie können eine Aktion erstellen, die einen Ordner voller PDF-Dateien mit Adobe Acrobat verarbeitet. Legen Sie die Aktion fest, um mit dem PDF-Optimierungsprogramm ausgeblendete Ebenen zu verwerfen und sichtbare Ebenen zu reduzieren. Siehe die Grafik.

enter image description here

Verwandte Themen