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. pypdf2 oder pdftk. bearbeiten Es gibt another post mit abcpdf, die leider nicht kostenlos ist. Gibt es eine Möglichkeit, dieses Verhalten in Acrobat JS oder pypdf2 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
.)
WIP-Idee: Machen Sie Ebenen unsichtbar zuerst, dann verwenden 'pdftk' zu verschmelzen. Aber löscht das wirklich den Inhalt der Ebene? –
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
@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. –