You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ad...@apache.org on 2010/08/24 02:35:07 UTC
svn commit: r988362 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/PDFMergerUtility.java
Author: adam
Date: Tue Aug 24 00:35:06 2010
New Revision: 988362
URL: http://svn.apache.org/viewvc?rev=988362&view=rev
Log:
PDFBOX-799: Add ability to ignore errors with AcroForms
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/PDFMergerUtility.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/PDFMergerUtility.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/PDFMergerUtility.java?rev=988362&r1=988361&r2=988362&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/PDFMergerUtility.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/PDFMergerUtility.java Tue Aug 24 00:35:06 2010
@@ -63,6 +63,7 @@ public class PDFMergerUtility
private List<InputStream> sources;
private String destinationFileName;
private OutputStream destinationStream;
+ private boolean ignoreAcroFormErrors = false;
/**
* Instantiate a new PDFMergerUtility.
@@ -241,18 +242,29 @@ public class PDFMergerUtility
destCatalog.setOpenAction( srcCatalog.getOpenAction() );
}
- PDAcroForm destAcroForm = destCatalog.getAcroForm();
- PDAcroForm srcAcroForm = srcCatalog.getAcroForm();
- if( destAcroForm == null )
+ try
{
- cloneForNewDocument( destination, srcAcroForm );
- destCatalog.setAcroForm( srcAcroForm );
+ PDAcroForm destAcroForm = destCatalog.getAcroForm();
+ PDAcroForm srcAcroForm = srcCatalog.getAcroForm();
+ if( destAcroForm == null )
+ {
+ cloneForNewDocument( destination, srcAcroForm );
+ destCatalog.setAcroForm( srcAcroForm );
+ }
+ else
+ {
+ if( srcAcroForm != null )
+ {
+ mergeAcroForm(destination, destAcroForm, srcAcroForm);
+ }
+ }
}
- else
+ catch(Exception e)
{
- if( srcAcroForm != null )
+ // if we are not ignoring exceptions, we'll re-throw this
+ if(!ignoreAcroFormErrors)
{
- mergeAcroForm(destination, destAcroForm, srcAcroForm);
+ throw (IOException)e;
}
}
@@ -596,6 +608,16 @@ public class PDFMergerUtility
}
}
}
+
+ public boolean isIgnoreAcroFormErrors()
+ {
+ return ignoreAcroFormErrors;
+ }
+
+ public void setIgnoreAcroFormErrors(boolean ignoreAcroFormErrors)
+ {
+ this.ignoreAcroFormErrors = ignoreAcroFormErrors;
+ }
}