iText - Layer aus PDF heraus löschen

worona

Mitglied
Hallo!

Meine Webanwendung läuft auf einem Tomcat-Server, wo ich eine PDF-Datei generieren möchte.
Ich arbeite mit iText und komme mit den OCGPropertys nicht zurecht.
Reader, Writer, Stmaper sind mir aber durch aus bekannt.

Ich habe eine PDF mit mehreren Schichten(Layern).
z.B. so eine PDF http://www.planetpdf.com/planetpdf/pdfs/House_Plan_Final.zip

Ich möchte aus dieser PDF eine neue PDF erzeugen, aber wo nur bestimmte Layer enthalten sind.
Es ist wichtig, dass die Layer in der neuen PDF physisch nicht mehr existieren.

Hat jemand einen Tipp oder evtl. Beispielcode wo man z.b. die Layerliste durchläuft und die nicht benötigen herauslöscht?
Wie kommt man an die Liste der Layer dran?

Methoden vom PDFLayer wie setOn(false), setOnPanel(false), setPrint(false), setView(false) sind nicht die richtigen dafür,
da die Layer noch physisch in der PDF enthalten sind und über Ebenenoptionen->Alle Layer angezeigt werden können, die dann schließlich auch gedruckt werden können.

Jetzt hab ich noch eine zweite Idee dieses zu realisieren.
Mit folgendem Code blende ich alle bis auf den letzten Layer aus.
Die ausgeblendeten Layer sind physisch noch da aber unsichtbar.
Soweit ganz gut.
Jetzt drucke ich diese PDF in eine neue PDF und siehe da, es kommt eine PDF nur mit dem einem Layer raus :)

Nun aber die Frage womit kann man aus einer PDF eine neue PDF erzeugen als ob sie als PDF gedruckt wurde.

Java:
	try {
	// (1) Einlesen der PDF-Vorlage
	String pdf_vorlage = "c:\test.pdf";
	PdfReader reader = new PdfReader(pdf_vorlage);

	// (2) Ziel-PDF bestimmen
	FileOutputStream out = new FileOutputStream(pdf_ziel);

	PdfStamper stamper = new PdfStamper(reader, out);
	pdf_writer = stamper.getWriter();
	pdf_writer.setPdfVersion(PdfWriter.VERSION_1_5);

	Collection cl = stamper.getPdfLayers().values();
	Iterator it_cl = cl.iterator();
	PdfLayer oPDFLayer = null;

	while (it_cl.hasNext()) {
	  oPDFLayer = (PdfLayer) it_cl.next();
	  oPDFLayer.setOn(false);             // Blendet Layer im PDF ein/aus
	  oPDFLayer.setOnPanel(false);        // Blendet Layer im Acrobat-Panel ein/aus
	  oPDFLayer.setPrint("print", false); // Blendet Layer beim Drucken ein/aus
	  oPDFLayer.setView(false);
	  oPDFLayer.setExport(false);

	  if ( it_cl.hasNext() == false) {
		oPDFLayer.setExport(true);
		oPDFLayer.setOn(true);
		oPDFLayer.setView(true);
		sLayerName = oPDFLayer.get(PdfName.NAME).toString();
	  }
	}

	// (6) Dokumente schließen
	stamper.close();
	reader.close();
	}
	catch (DocumentException de) {
		  System.err.println(de.getMessage());
	} catch (IOException ioe) {
		  System.err.println(ioe.getMessage());
	}

Besten Dank im Voraus!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M iText Zelleninhalt formatieren Java Basics - Anfänger-Themen 2
J Itext-Paragraph Position ändern Java Basics - Anfänger-Themen 13
F iText download/installieren Java Basics - Anfänger-Themen 22
tsom Erste Schritte itext Text als Block auf neue Seite Java Basics - Anfänger-Themen 0
K Java iText: The document has no pages. Java Basics - Anfänger-Themen 9
Ghostman1711 Itext PDF print File gelockt by Java Java Basics - Anfänger-Themen 15
M itext footer newline Java Basics - Anfänger-Themen 3
S Itext und eine neue Zeile einfügen Java Basics - Anfänger-Themen 2
Scorpi41 HTLM2PDF via IText Java Basics - Anfänger-Themen 8
N iText PDF Fehler, java.lang.ClassNotFoundException: com.lowagie.text.Phrase Java Basics - Anfänger-Themen 7
T Formatieren von Zellen einer PdfPTable mit IText Java Basics - Anfänger-Themen 3
T iText Header Java Basics - Anfänger-Themen 3
I PDF aus JSF - Seite drucken mit iText Java Basics - Anfänger-Themen 5
D iText.jar mit meiner bat.datei einbinden Java Basics - Anfänger-Themen 10
J iText und so ^^ Java Basics - Anfänger-Themen 3
A IText, wo fange ich an? Java Basics - Anfänger-Themen 5
G iText mehrdeutiges Font Java Basics - Anfänger-Themen 2
J itext - Rechteck in PdfCell Java Basics - Anfänger-Themen 2
H itext verwenden mit jar Java Basics - Anfänger-Themen 2
S Drucken mit iText? Java Basics - Anfänger-Themen 7
R PDF erzeugen mit iText Java Basics - Anfänger-Themen 5
G Frage zu itext -> OutOfMemoryError Java Basics - Anfänger-Themen 5
P Eclipse "aufraeumen", iText-Lizenz, Exe-Datei erst Java Basics - Anfänger-Themen 7
H iText implementieren Java Basics - Anfänger-Themen 7
G Kassenbon mit itext Java Basics - Anfänger-Themen 4
F iText mit ppt ? Java Basics - Anfänger-Themen 3
I Best Practice Saubere Verbindung zwischen API und Business Layer mit DTO's Java Basics - Anfänger-Themen 2
P Layer Struktur -> File- Verfügbarkeit Java Basics - Anfänger-Themen 0
B PNG Layer einlesen Java Basics - Anfänger-Themen 3
J Layer ausdrucken Java Basics - Anfänger-Themen 3
sserio Binomialkoeffizient, wie findet man k und n heraus Java Basics - Anfänger-Themen 18
B Klassen Zugriff auf ein Objekt einer Klasse aus einer Methode heraus Java Basics - Anfänger-Themen 4
S setText aus anderer class heraus Java Basics - Anfänger-Themen 6
K Compiler-Fehler Objektmethode aus einer statischen Methode heraus aufrufen Java Basics - Anfänger-Themen 34
J Classpath Programm aus Programm heraus starten Java Basics - Anfänger-Themen 1
U jar aus RAM heraus starten Java Basics - Anfänger-Themen 21
G Java Applet aus Eclipse heraus testen? Java Basics - Anfänger-Themen 6
Y Datei mit relativem Dateipfad per FileReader aus .JAR heraus auslesen Java Basics - Anfänger-Themen 4
J JavaFX aus Java-Application heraus starten Java Basics - Anfänger-Themen 7
I Jar aus Java heraus starten. Java Basics - Anfänger-Themen 12
Y .jar aus applikation heraus starten? Java Basics - Anfänger-Themen 3
E Word aus Java heraus öffnen und in den Vordergrund holen Java Basics - Anfänger-Themen 2
I auf Textfeld aus anderer Klasse heraus zugreifen Java Basics - Anfänger-Themen 2
S Main-Methode aus anderer Klasse heraus starten Java Basics - Anfänger-Themen 8
B Warum aus child heraus nicht änderbar? Java Basics - Anfänger-Themen 4
E Variable aus einer Methode heraus in eine andere Klasse übergeben Java Basics - Anfänger-Themen 13
J this aus eingebetteter implementation heraus Java Basics - Anfänger-Themen 2
A JRadioButton aus Code heraus selectieren. Java Basics - Anfänger-Themen 4
A [gelöst]Aus der Klasse heraus auf ein anderes Objekt zugreifen Java Basics - Anfänger-Themen 4
J Java Applikation aus Applet heraus starten Java Basics - Anfänger-Themen 4
L Zeilenwechselsequenz erkennen aus der Datei heraus Java Basics - Anfänger-Themen 2
G Umgebungsvariable aus Java Programm heraus setzen Java Basics - Anfänger-Themen 4
G Webseite aus Java heraus laden Java Basics - Anfänger-Themen 3
S Rückgabe eines eingelesenen 2D Arrays aus Klasse heraus Java Basics - Anfänger-Themen 3
G jProgressBar value aus anderer Klasse heraus verändern Java Basics - Anfänger-Themen 7
P Fenster schliessen auf Menue heraus Java Basics - Anfänger-Themen 2
R Dateien aus Java heraus öffnen Java Basics - Anfänger-Themen 9
F Problem mit auführen einer .bat Datei aus Java heraus Java Basics - Anfänger-Themen 24
D exe AUS Java heraus starten Java Basics - Anfänger-Themen 4
G Aufruf einer .bat-Datei aus Java heraus Java Basics - Anfänger-Themen 6
G Andere Anwendung aus Java heraus steuern Java Basics - Anfänger-Themen 3
M aus Applet heraus 2. Fenster öffnen und Parameter übergeben? Java Basics - Anfänger-Themen 18
H Objecte aus einer Liste heraus benutzen ? Java Basics - Anfänger-Themen 3
M Klassen zur Laufzeit laden, aus einer jar heraus. Java Basics - Anfänger-Themen 14
V Erste Ziffer aus einer dreistelligen "Zahl" heraus Java Basics - Anfänger-Themen 5
H Verzeichnis lesen, und nur unterverzeichnisse heraus filtern Java Basics - Anfänger-Themen 6
A Aus dem menü heraus andere Felder bearbeiten Java Basics - Anfänger-Themen 2
G Worddatei aus jar-File heraus starten Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben