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 2014/10/12 19:15:09 UTC
svn commit: r1631220 -
/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
Author: lehmi
Date: Sun Oct 12 17:15:09 2014
New Revision: 1631220
URL: http://svn.apache.org/r1631220
Log:
PDFBOX-2395: don't overwrite the first part of the documentID
Modified:
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java?rev=1631220&r1=1631219&r2=1631220&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java Sun Oct 12 17:15:09 2014
@@ -1481,7 +1481,13 @@ public class COSWriter implements ICOSVi
COSDocument cosDoc = document.getDocument();
COSDictionary trailer = cosDoc.getTrailer();
COSArray idArray = (COSArray)trailer.getDictionaryObject( COSName.ID );
- if( idArray == null || incrementalUpdate)
+ boolean missingID = true;
+ // check for an existing documentID
+ if (idArray != null && idArray.size() == 2)
+ {
+ missingID = false;
+ }
+ if( missingID || incrementalUpdate)
{
try
{
@@ -1500,9 +1506,11 @@ public class COSWriter implements ICOSVi
}
}
idArray = new COSArray();
- COSString id = new COSString( md.digest() );
- idArray.add( id );
- idArray.add( id );
+ // reuse origin documentID if available as first value
+ COSString firstID = missingID ? new COSString( md.digest() ) : (COSString)idArray.get(0);
+ COSString secondID = new COSString( md.digest() );
+ idArray.add( firstID );
+ idArray.add( secondID );
trailer.setItem( COSName.ID, idArray );
}
catch( NoSuchAlgorithmException e )