You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2013/03/10 18:23:16 UTC
svn commit: r1454883 -
/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/EmbeddedFiles.java
Author: lehmi
Date: Sun Mar 10 17:23:16 2013
New Revision: 1454883
URL: http://svn.apache.org/r1454883
Log:
PDFBOX-811: all embedded files have to be added as new child tree node of the root node
Modified:
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/EmbeddedFiles.java
Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/EmbeddedFiles.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/EmbeddedFiles.java?rev=1454883&r1=1454882&r2=1454883&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/EmbeddedFiles.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/EmbeddedFiles.java Sun Mar 10 17:23:16 2013
@@ -18,10 +18,10 @@ package org.apache.pdfbox.examples.pdmod
import java.io.ByteArrayInputStream;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.GregorianCalendar;
-import java.util.SortedMap;
-import java.util.TreeMap;
+import java.util.List;
import org.apache.pdfbox.exceptions.COSVisitorException;
@@ -85,7 +85,6 @@ public class EmbeddedFiles
//embedded files are stored in a named tree
PDEmbeddedFilesNameTreeNode efTree = new PDEmbeddedFilesNameTreeNode();
-
//first create the file specification, which holds the embedded file
PDComplexFileSpecification fs = new PDComplexFileSpecification();
fs.setFile( "Test.txt" );
@@ -100,8 +99,14 @@ public class EmbeddedFiles
ef.setCreationDate( new GregorianCalendar() );
fs.setEmbeddedFile( ef );
- //now add the entry to the embedded file tree and set in the document.
- efTree.setNames( Collections.singletonMap( "My first attachment", fs ) );
+ // create a new tree node and add the embedded file
+ PDEmbeddedFilesNameTreeNode treeNode = new PDEmbeddedFilesNameTreeNode();
+ treeNode.setNames( Collections.singletonMap( "My first attachment", fs ) );
+ // add the new node as kid to the root node
+ List<PDEmbeddedFilesNameTreeNode> kids = new ArrayList<PDEmbeddedFilesNameTreeNode>();
+ kids.add(treeNode);
+ efTree.setKids(kids);
+ // add the tree to the document catalog
PDDocumentNameDictionary names = new PDDocumentNameDictionary( doc.getDocumentCatalog() );
names.setEmbeddedFiles( efTree );
doc.getDocumentCatalog().setNames( names );