svn commit: r1581708 - in /pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox: cos/COSName.java filter/CCITTFaxDecodeFilter.java filter/TIFFFaxDecoder.java
Author: tilman Date: Wed Mar 26 06:42:33 2014 New Revision: 1581708 URL: http://svn.apache.org/r1581708 Log: PDFBOX-1074: implemented EncodedByteAlign = true for T6decode Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/TIFFFaxDecoder.java Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java?rev=1581708r1=1581707r2=1581708view=diff == --- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java (original) +++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/cos/COSName.java Wed Mar 26 06:42:33 2014 @@ -535,6 +535,10 @@ public final class COSName extends COSBa /** * A common COSName value. */ +public static final COSName ENCODED_BYTE_ALIGN = new COSName(EncodedByteAlign); +/** + * A common COSName value. + */ public static final COSName ENCODING = new COSName( Encoding ); /** * A common COSName value. @@ -562,6 +566,11 @@ public final class COSName extends COSBa * A common COSName value. */ public static final COSName ENCRYPT_META_DATA = new COSName( EncryptMetadata ); + +/** + * A common COSName value. + */ +public static final COSName END_OF_LINE = new COSName(EndOfLine); /** * A common COSName value. Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java?rev=1581708r1=1581707r2=1581708view=diff == --- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java (original) +++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxDecodeFilter.java Wed Mar 26 06:42:33 2014 @@ -102,6 +102,7 @@ public class CCITTFaxDecodeFilter implem rows = Math.max(rows, height); } int k = decodeParms.getInt(COSName.K, 0); +boolean encodedByteAlign = decodeParms.getBoolean(COSName.ENCODED_BYTE_ALIGN, false); int arraySize = (cols + 7) / 8 * rows; TIFFFaxDecoder faxDecoder = new TIFFFaxDecoder(1, cols, rows); // TODO possible options?? @@ -123,7 +124,7 @@ public class CCITTFaxDecodeFilter implem else if (k 0) { byte[] decompressed = new byte[arraySize]; -faxDecoder.decodeT6(decompressed, compressed, 0, rows, tiffOptions); +faxDecoder.decodeT6(decompressed, compressed, 0, rows, tiffOptions, encodedByteAlign); result.write(decompressed); } } Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/TIFFFaxDecoder.java URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/TIFFFaxDecoder.java?rev=1581708r1=1581707r2=1581708view=diff == --- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/TIFFFaxDecoder.java (original) +++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/filter/TIFFFaxDecoder.java Wed Mar 26 06:42:33 2014 @@ -878,7 +878,8 @@ class TIFFFaxDecoder { byte[] compData, int startX, int height, - long tiffT6Options) { + long tiffT6Options, + boolean encodedByteAlign) { this.data = compData; compression = 4; @@ -915,6 +916,11 @@ class TIFFFaxDecoder { int bitOffset; for (int lines = 0; lines height; lines++) { +if (encodedByteAlign bitPointer != 0) +{ +bitPointer = 0; +bytePointer++; +} // a0 has to be set just before the start of the scanline. a0 = -1; isWhite = true;
svn commit: r1581928 - in /pdfbox/trunk/pdfbox/src: main/java/org/apache/pdfbox/filter/ main/java/org/apache/pdfbox/filter/ccitt/ test/java/org/apache/pdfbox/filter/ccitt/
Author: tilman Date: Wed Mar 26 16:48:02 2014 New Revision: 1581928 URL: http://svn.apache.org/r1581928 Log: PDFBOX-1708: implemented EncodedByteAlign = true for CCITTFaxG31DDecodeInputStream Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/ccitt/CCITTFaxG31DDecodeInputStream.java pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/filter/ccitt/TestCCITTFaxG31DDecodeInputStream.java Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java?rev=1581928r1=1581927r2=1581928view=diff == --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/CCITTFaxFilter.java Wed Mar 26 16:48:02 2014 @@ -100,7 +100,7 @@ final class CCITTFaxFilter extends Filte if (k == 0) { InputStream in = new CCITTFaxG31DDecodeInputStream( -new ByteArrayInputStream(compressed), cols); +new ByteArrayInputStream(compressed), cols, encodedByteAlign); in = new FillOrderChangeInputStream(in); //Decorate to change fill order decompressed = IOUtils.toByteArray(in); in.close(); Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/ccitt/CCITTFaxG31DDecodeInputStream.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/ccitt/CCITTFaxG31DDecodeInputStream.java?rev=1581928r1=1581927r2=1581928view=diff == --- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/ccitt/CCITTFaxG31DDecodeInputStream.java (original) +++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/ccitt/CCITTFaxG31DDecodeInputStream.java Wed Mar 26 16:48:02 2014 @@ -35,6 +35,7 @@ public final class CCITTFaxG31DDecodeInp private InputStream source; private int columns; private int rows; +private boolean encodedByteAlign; //for reading compressed bits private int bits; @@ -60,27 +61,34 @@ public final class CCITTFaxG31DDecodeInp /** * Creates a new decoder. + * * @param source the input stream containing the compressed data. * @param columns the number of columns * @param rows the number of rows (0 if undefined) + * @param encodedByteAlign true if each encoded scan line is filled + * to a byte boundary, false if not */ -public CCITTFaxG31DDecodeInputStream(InputStream source, int columns, int rows) +public CCITTFaxG31DDecodeInputStream(InputStream source, int columns, int rows, boolean encodedByteAlign) { this.source = source; this.columns = columns; this.rows = rows; this.decodedLine = new PackedBitArray(columns); this.decodedReadPos = this.decodedLine.getByteCount(); +this.encodedByteAlign = encodedByteAlign; } /** * Creates a new decoder. + * * @param source the input stream containing the compressed data. * @param columns the number of columns + * @param encodedByteAlign true if each encoded scan line is filled + * to a byte boundary, false if not */ -public CCITTFaxG31DDecodeInputStream(InputStream source, int columns) +public CCITTFaxG31DDecodeInputStream(InputStream source, int columns, boolean encodedByteAlign) { -this(source, columns, 0); +this(source, columns, 0, encodedByteAlign); } /** {@inheritDoc} */ @@ -110,6 +118,10 @@ public final class CCITTFaxG31DDecodeInp private boolean decodeLine() throws IOException { +if (encodedByteAlign this.bitPos != 0) +{ +readByte(); +} if (this.bits 0) { return false; //Shortcut after EOD Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/filter/ccitt/TestCCITTFaxG31DDecodeInputStream.java URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/filter/ccitt/TestCCITTFaxG31DDecodeInputStream.java?rev=1581928r1=1581927r2=1581928view=diff == --- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/filter/ccitt/TestCCITTFaxG31DDecodeInputStream.java (original) +++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/filter/ccitt/TestCCITTFaxG31DDecodeInputStream.java Wed Mar 26 16:48:02 2014 @@ -121,7 +121,7 @@ public class TestCCITTFaxG31DDecodeInput int rows = 2; //We actually have data for three rows. Just checking the restriction. CCITTFaxG31DDecodeInputStream decoder = new
svn commit: r1581986 - /pdfbox/trunk/parent/pom.xml
Author: tilman Date: Wed Mar 26 18:23:31 2014 New Revision: 1581986 URL: http://svn.apache.org/r1581986 Log: PDFBOX-2002: Show deprecation in the build Modified: pdfbox/trunk/parent/pom.xml Modified: pdfbox/trunk/parent/pom.xml URL: http://svn.apache.org/viewvc/pdfbox/trunk/parent/pom.xml?rev=1581986r1=1581985r2=1581986view=diff == --- pdfbox/trunk/parent/pom.xml (original) +++ pdfbox/trunk/parent/pom.xml Wed Mar 26 18:23:31 2014 @@ -141,6 +141,7 @@ plugin artifactIdmaven-compiler-plugin/artifactId configuration +showDeprecationtrue/showDeprecation target1.6/target source1.6/source /configuration