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/11/14 18:27:52 UTC

svn commit: r1541987 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox: pdfparser/BaseParser.java pdfwriter/COSWriter.java

Author: lehmi
Date: Thu Nov 14 17:27:52 2013
New Revision: 1541987

URL: http://svn.apache.org/r1541987
Log:
PDFBOX-1780: fixed the handling of direct/indirect references as proposed by vakhtang koroghlishvili

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java?rev=1541987&r1=1541986&r2=1541987&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BaseParser.java Thu Nov 14 17:27:52 2013
@@ -47,7 +47,7 @@ import org.apache.pdfbox.persistence.uti
  * PDFParser and the COSStreamParser.
  *
  * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.61 $
+ * 
  */
 public abstract class BaseParser
 {
@@ -371,6 +371,7 @@ public abstract class BaseParser
                 }
                 else
                 {
+                    value.setDirect(true);
                     obj.setItem( key, value );
                 }
             }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java?rev=1541987&r1=1541986&r2=1541987&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java Thu Nov 14 17:27:52 2013
@@ -71,7 +71,7 @@ import org.apache.pdfbox.util.StringUtil
  *
  * @author Michael Traut
  * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.36 $
+ * 
  */
 public class COSWriter implements ICOSVisitor
 {
@@ -1054,7 +1054,15 @@ public class COSWriter implements ICOSVi
                         }
                         else
                         {
-                            subValue.accept( this );
+                            if (subValue.isDirect())
+                            {
+                                subValue.accept( this );                                
+                            } 
+                            else 
+                            {
+                                addObjectToWrite( subValue );
+                                writeReference( subValue );                                                  
+                            }
                         }
                     }
                     else