You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2018/06/30 14:21:33 UTC
svn commit: r1834741 - in
/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter:
Filter.java FlateFilter.java
Author: tilman
Date: Sat Jun 30 14:21:33 2018
New Revision: 1834741
URL: http://svn.apache.org/viewvc?rev=1834741&view=rev
Log:
PDFBOX-4184: make flate compression level public to allow access in future image compression code, as suggested by Emmeran Seehuber
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/Filter.java
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/FlateFilter.java
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/Filter.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/Filter.java?rev=1834741&r1=1834740&r2=1834741&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/Filter.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/Filter.java Sat Jun 30 14:21:33 2018
@@ -165,4 +165,20 @@ public abstract class Filter
return reader;
}
+ /**
+ * @return the ZIP compression level configured for PDFBox
+ */
+ public static int getCompressionLevel()
+ {
+ int compressionLevel = Deflater.DEFAULT_COMPRESSION;
+ try
+ {
+ compressionLevel = Integer.parseInt(System.getProperty(Filter.SYSPROP_DEFLATELEVEL, "-1"));
+ }
+ catch (NumberFormatException ex)
+ {
+ LOG.warn(ex.getMessage(), ex);
+ }
+ return Math.max(-1, Math.min(Deflater.BEST_COMPRESSION, compressionLevel));
+ }
}
Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/FlateFilter.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/FlateFilter.java?rev=1834741&r1=1834740&r2=1834741&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/FlateFilter.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/filter/FlateFilter.java Sat Jun 30 14:21:33 2018
@@ -118,16 +118,7 @@ final class FlateFilter extends Filter
protected void encode(InputStream input, OutputStream encoded, COSDictionary parameters)
throws IOException
{
- int compressionLevel = Deflater.DEFAULT_COMPRESSION;
- try
- {
- compressionLevel = Integer.parseInt(System.getProperty(Filter.SYSPROP_DEFLATELEVEL, "-1"));
- }
- catch (NumberFormatException ex)
- {
- LOG.warn(ex.getMessage(), ex);
- }
- compressionLevel = Math.max(-1, Math.min(Deflater.BEST_COMPRESSION, compressionLevel));
+ int compressionLevel = getCompressionLevel();
Deflater deflater = new Deflater(compressionLevel);
DeflaterOutputStream out = new DeflaterOutputStream(encoded, deflater);
int amountRead;