<commit_before>Release Notes -- Apache PDFBox -- Version 1.7.0

Introduction
------------

The Apache PDFBox library is an open source Java tool for working with PDF documents.

This is an incremental feature release based on the earlier 1.x releases.
This release contains many improvements and fixes especially related to
performance, resource usage and rendering. The most significant 
new feature is the new non sequential parser.

This version also includes the new PDF/A preflight module. Due to some unfinished 
refactoring we decided to release them source only. Uncomment the commented entries
in the reactor pom to build your own jars.

For more details on these changes and all the other fixes and improvements
included in this release, please refer to the following issues on the
PDFBox issue tracker at https://issues.apache.org/jira/browse/PDFBOX.

New features

[PDFBOX-5] - CJK decoding
[PDFBOX-1056] - Integration of a PDF/A validator in PDFBox
[PDFBOX-1142] - Implement type 4 functions (PDFunctionType4)
[PDFBOX-1156] - Color conversion for PDJpegs using a DeviceN colorspace
[PDFBOX-1160] - Add "Save as image" to PDFReader
[PDFBOX-1214] - Allow subclassing of PDFParser
[PDFBOX-1221] - Add support to set a start and/or end page when splitting a pdf
[PDFBOX-1230] - Support CIDToGIDMap of CID-Type2 fonts
[PDFBOX-1253] - split PDFont#encode

Improvements

[PDFBOX-804] - First page not rendered correctly by the pdfbox tools (PDFReader, PDTToImage ...)
[PDFBOX-956] - Poor text extraction performance in PDFTextStripper.java
[PDFBOX-1080] - Improve TextPosition.isDiacritic and ICU4JImpl normalizeDiac performance
[PDFBOX-1081] - padaf integration : remove unused style file and change subproject cases
[PDFBOX-1105] - Integration Test in preflight to make easy validation
[PDFBOX-1111] - Add Duplex and PrintScaling to viewer preferences
[PDFBOX-1117] - [Preflight] Continue the PDF validation after syntax error
[PDFBOX-1131] - Patch: Adding line cap, line join, and line pattern support to PDPageContentStream
[PDFBOX-1136] - Possibilty to direcvtly add R and D stream into PDAppearanceDictionary
[PDFBOX-1144] - update pom in parent project to support maven build in eclipse Indigo
[PDFBOX-1146] - Don't use COSArrays when calling PDFunction#eval
[PDFBOX-1159] - Speed up LZWFilter decoding
[PDFBOX-1165] - Xmpbox does not accept rdf:description without rdf:about attribute
[PDFBOX-1168] - Adding Basic Job Ticket Schema
[PDFBOX-1175] - Stream parsing performance improvement + patch
[PDFBOX-1177] - Create a module with examples instead having them in pdfbox.jar
[PDFBOX-1179] - Remove file resource used to retrieve version of parser
[PDFBOX-1186] - Improve xmpbox code strength
[PDFBOX-1193] - BaseParser print useful offset instead of java object
[PDFBOX-1196] - Object offsets should be of type long + PATCH
[PDFBOX-1198] - Remove dependency to commons-io in xmpbox
[PDFBOX-1199] - Non-sequential PDF parser + PATCH
[PDFBOX-1211] - Refactor IO interfaces + PATCH
[PDFBOX-1252] - Use a separate CMap for the ToUnicode mapping
[PDFBOX-1286] - Add the BouncyCastleProvider only once a time
[PDFBOX-1294] - Unable to read values from PDF Form fields saved by Acrobat Reader
[PDFBOX-1297] - ExtractText fails to extract text from packaged PDFs
[PDFBOX-1309] - Support decompression of password protected pdfs
[PDFBOX-1310] - Remove project version retrieval in preflight
[PDFBOX-1311] - Extend commandline utilities to use the non sequential parser by choice
[PDFBOX-1315] - Build WriteDecodedDoc and PDFMerger as .NET tool

Bug Fixes

[PDFBOX-163] - IOException: expected='/' actual='e'-101
[PDFBOX-383] - BaseParser incorrectly handling stream, exhibiting IOException
[PDFBOX-479] - loading a CUPS-generated PDF results in RasterExceptions
[PDFBOX-569] - Text-Extraction of PDF fails
[PDFBOX-585] - PrintImageLocations example calculates wrong image width/height
[PDFBOX-610] - Fonts should not be cached by PDFStreamEngine
[PDFBOX-611] - PDSimpleFont. Font height reported as zero.
[PDFBOX-692] - Contents are unknown type:org.apache.pdfbox.cos.COSDictionary
[PDFBOX-697] - Error: Expected an integer type, actual='' -
[PDFBOX-744] - Landscape PDF Rasterized as Portrait
[PDFBOX-750] - Extracted images are dark without color
[PDFBOX-807] - NullPointerException in StandardSecurityHandler.java:261
[PDFBOX-817] - IllegalArgumentException not catched or declared while creating ICC profile
[PDFBOX-847] - FlateFilter.java swallows Exceptions (should rethrow)
[PDFBOX-864] - Incorrect cropping from PDFToImage with offset mediaBox
[PDFBOX-879] - PDFMergerUtility
[PDFBOX-886] - Scanned PDFs from XEROX scanners was blank/black when convert to image
[PDFBOX-892] - ClassCastException in PDXObjectImage.getMask
[PDFBOX-895] - Infinite recursion when trying to extract text from specific types of PDFs
[PDFBOX-980] - Expected an integer type, actual='Active'
[PDFBOX-999] - Cant compile PDFBOX 1.5 with IKVM
[PDFBOX-1001] - TextPosition.getHeight() returns erroneous value for some PDFs
[PDFBOX-1047] - PDPageLabels with Junks in Particular Pdf
[PDFBOX-1059] - WinAnsiEncoding : the code 0251 (Copyrigth) inserted twice
[PDFBOX-1075] - Can't get images from a PDF
[PDFBOX-1079] - TestCOSFloat occasionally fails: Is something wrong with my machine?
[PDFBOX-1085] - Wrong PostcriptScriptTable due to wrong assumption in Encoding/MacRomanEncoding
[PDFBOX-1088] - Class PDDocument Method getPageMap returns a ClassCastException
[PDFBOX-1092] - Image Rendering Regression
[PDFBOX-1095] - PDFToImage image rendering fails on pdf with embedded picture(s)
[PDFBOX-1096] - CMapParser doesn't parse cmap version
[PDFBOX-1097] - Classes from generated sources are not included in preflight jar
[PDFBOX-1098] - Wrong implemented stream reader
[PDFBOX-1101] - Improve JavaCC Grammar and Preflight to manage Xref stream object
[PDFBOX-1106] - PDFMergerUtility corrupts file attachments
[PDFBOX-1108] - NPE and IndexOutOfBounds in PDFunctionType3
[PDFBOX-1112] - Fix outline hierarchy control
[PDFBOX-1116] - Wrong colors with test file
[PDFBOX-1118] - All images in pdf document is not listed/extracted
[PDFBOX-1125] - NullPointerException when saving Document
[PDFBOX-1127] - PDF supplies glyph->unicode mapping, but PDFBox doesn't use it.
[PDFBOX-1128] - Wrong color space used for DeviceN operator without color space specified
[PDFBOX-1137] - PDSimpleFont.determineEncoding will never parse embedded CMAPs
[PDFBOX-1140] - TTFDataStream.read32Fixed() discards fractions
[PDFBOX-1145] - "write2file" gives Null Pointer Exception
[PDFBOX-1161] - CMapParser exception when call extractToUnicodeEndoding
[PDFBOX-1162] - Font error in "preflight" .....when validating the attached PDF/A
[PDFBOX-1171] - Parsing hexadecimal strings is not strict enough + FIX
[PDFBOX-1172] - COSNumber throws IOException
[PDFBOX-1173] - Missing Fonts after PDFMergerUtility mergeDocuments
[PDFBOX-1174] - i have problem in BaseParser.readInt
[PDFBOX-1178] - Type3Validation error when firstChar and lastChar badly defined in 
                font description dictionary
[PDFBOX-1180] - Anomalie lors de la validation d'un PDF/A1-b
[PDFBOX-1184] - [PATCH] Bug in PDPage when the page is rasterized
[PDFBOX-1185] - A problem with indexed color spaces: bpc of the base color space seems wrong.
[PDFBOX-1188] - PDStream Exception when using a Cast
[PDFBOX-1190] - Attempting to render to BMP, WBMP or GIF causes IllegalStateException
[PDFBOX-1194] - XMLValueTypeDescriptionManagerTest fails on Java 7
[PDFBOX-1195] - Font Validation Problem
[PDFBOX-1197] - PrintImageLocations does not print information of all images
[PDFBOX-1212] - NullPointerException in SecurityHandler.addDictionaryAndSubDictionary
[PDFBOX-1216] - Arabic / Farsi (Persian) text appear disconnected when PDF is converted to image
[PDFBOX-1218] - width = 0 if a type1 font uses a standard base 14 font
[PDFBOX-1220] - CMYK image cannot be extracted (empty file generated)
[PDFBOX-1232] - FlateDecoder in stream mode
[PDFBOX-1233] - CCITTFaxG31DDecodeInputStream - Extended codes have wrong length
[PDFBOX-1237] - PDPixelMap uses wrong number of components for the target colorspace
[PDFBOX-1238] - Document stream used a undefined font resource
[PDFBOX-1243] - XMPSchemaMediaManagement : bad setManagedFrom
[PDFBOX-1248] - PDNumberTreeNode method setNumbers( Map numbers ) sets the key for the for the 
                Nums dictionary entry to Names rather than Nums
[PDFBOX-1249] - PDF/A file has a preflight, .pdmodel.font exception. Validates with commercial viewers
[PDFBOX-1265] - Invalid Font Definition
[PDFBOX-1266] - When I try to convert certain pages of certain PDF to images I am getting error 
                java.lang.ClassCastException: org.apache.pdfbox.cos.COSNull cannot be cast to 
                org.apache.pdfbox.cos.COSDictionary
[PDFBOX-1269] - ClassCastException on COSDocument#getDocumentID
[PDFBOX-1275] - Glyph error, CID 0 -- passes compercial validators as a valid PDF/A
[PDFBOX-1279] - Preflight reports "1.1 : Body Syntax error"
[PDFBOX-1281] - FDFDictionary parses fields in XFDF incorrectly
[PDFBOX-1285] - Unable to process attached pdf
[PDFBOX-1289] - PDResources overrides any existing font when calling addFont
[PDFBOX-1290] - CloseFillNonZeroAndStrokePath operator fails to do the stroke.
[PDFBOX-1295] - Unable to create the color instance / bg color inverted
[PDFBOX-1299] - BaseParser.readUntilEndOfStream can stop too early, causing IOException on valid PDFs
[PDFBOX-1306] - Transparent PNG file display with black border
[PDFBOX-1308] - PDResources.getImages() is broken
[PDFBOX-1316] - NonSequentialPDFParser does not set security handler for access check
[PDFBOX-1319] - NullPointerException in NonSequentialPDFParser with corrupt xref/trailer
[PDFBOX-1320] - NPE in extractEmbeddedDocuments

Release Contents
----------------

This release consists of a single source archive packaged as a zip file.
The archive can be unpacked with the jar tool from your JDK installation.
See the README.txt file for instructions on how to build this release.

The source archive is accompanied by SHA1 and MD5 checksums and a PGP
signature that you can use to verify the authenticity of your download.
The public key used for the PGP signature can be found at<commit_msg>updated RELEASENOTES<commit_after>Release Notes -- Apache PDFBox -- Version 1.8.0

Introduction
------------

The Apache PDFBox library is an open source Java tool for working with PDF documents.

This is an incremental feature release based on the earlier 1.x releases.
This release contains many improvements and fixes especially related to
performance, resource usage and rendering. The most significant 
new features are the first official release of the new PDF/A preflight module as
part of Apache PDFBox and the improved signature abilities.

For more details on these changes and all the other fixes and improvements
included in this release, please refer to the following issues on the
PDFBox issue tracker at https://issues.apache.org/jira/browse/PDFBOX.

New features

[PDFBOX-46] - Support XFA form submitting
[PDFBOX-81] - Excetion while extracting images
[PDFBOX-84] - Read PDF XFA Form Contents
[PDFBOX-127] - Accessing XML-Forms (patch provided)
[PDFBOX-1067] - PDF Scan from Xerox WorkCentre 5030 renders as all black
[PDFBOX-1514] - Improved overlay cammand line tool

Improvements

[PDFBOX-1246] - Allow resolution to be defined when calling ImageIOUtil.writeImage
[PDFBOX-1312] - Refactor the PdfA parser
[PDFBOX-1352] - xmpbox refactoring
[PDFBOX-1367] - Do not generate preflight jar with dependencies at each build
[PDFBOX-1369] - support getting file pointer from RandomAccessRead interface
[PDFBOX-1377] - Simplify PDF/A schema parsing
[PDFBOX-1387] - Create NonSequentialParser with InputStream
[PDFBOX-1388] - Create a branch to refactor xmpbox
[PDFBOX-1392] - Enable usage of compressionQuality when creating a PDJpeg
[PDFBOX-1399] - Add an example on how to extract embedded files
[PDFBOX-1418] - Improved font mapping
[PDFBOX-1423] - An error exists on this page. Acrobat may not display the page correctly
[PDFBOX-1425] - Make PositionWrapper.getTextPosition public
[PDFBOX-1439] - Problems with Image Extraction from PDF
[PDFBOX-1468] - Decrypting unencrypted strings
[PDFBOX-1488] - Add generics to the COSArrayList class
[PDFBOX-1492] - Add basic XFA extraction
[PDFBOX-1513] - PDF signature improvements
[PDFBOX-1536] - Improve the ExtractEmbeddedFiles example to deal with different kind of 
                trees representing the embedded files

Bug Fixes

[PDFBOX-137] - Does not detect paper format
[PDFBOX-811] - EmbeddedFiles example does not work
[PDFBOX-819] - PDFBox prints landscape documents as portrait
[PDFBOX-927] - Problem on writing some kind of images to a File in filesystem
[PDFBOX-969] - IndexOutOfBound whle creating a Type1C font
[PDFBOX-985] - PDF Printing Orientation
[PDFBOX-992] - IndexOutOfBoundsException: while parsing few pdf's
[PDFBOX-1072] - PDFImageWriter extracts black images from arabic PDFs
[PDFBOX-1084] - java.lang.NumberFormatException when getting PDF text of some PDF file if 
                dup line does not contains font index
[PDFBOX-1130] - ExtractText -html doesn't always close the <p> tags it opens
[PDFBOX-1138] - Printing fails for pages in landscape format
[PDFBOX-1169] - Images extracted from PDF are loosing color (are shown in blackcolor)
[PDFBOX-1191] - Lost information while extracting images from pdf scanned by XEROX
[PDFBOX-1298] - java.lang.IllegalArgumentException: fromIndex(0) > toIndex(-2)
[PDFBOX-1344] - xml namespace problem in ResourceRef
[PDFBOX-1346] - Can't assign an arbitrary string value to an editable acroform combobox
[PDFBOX-1359] - stack overflow~~ ExtractText (PDF2TXT)
[PDFBOX-1362] - Slovakian characters
[PDFBOX-1364] - Error On MetaData
[PDFBOX-1365] - Error On MetaData: The Metadata entry doesn't reference a stream object
[PDFBOX-1368] - Xmp validation KO if there are complex type in a seq element
[PDFBOX-1371] - MetaData : Trapped property
[PDFBOX-1373] - Body Syntax Error : Possible Encoding problem
[PDFBOX-1374] - Error On MetaData: Title
[PDFBOX-1376] - xmpbox cannot parse structured types containing structured types
[PDFBOX-1378] - [PATCH] COSArray: Avoid NullPointerException in setString
[PDFBOX-1379] - [PATCH] COSDocument: setVersion
[PDFBOX-1380] - [PATCH] PDNameTreeNode
[PDFBOX-1381] - [PATCH] PDNumberTreeNode
[PDFBOX-1382] - [PATCH] PDObjectReference
[PDFBOX-1394] - Image streams are lost when adding new images to page
[PDFBOX-1395] - Transparency isn't checked in Page dictionary
[PDFBOX-1398] - Runtime exception when trying to check PDF/A compliance on non PDF/A document
[PDFBOX-1408] - Width of space character is calculated wrong
[PDFBOX-1411] - [Patch] PDPixelMap.createImageStream can attempt to close output stream it 
                didn't open, hiding errors.
[PDFBOX-1412] - NullPointerException when getting fields from a PDF file
[PDFBOX-1421] - TextPosition.getX()returen 0 in case of rotation ==360
[PDFBOX-1424] - Wrong glyph (Persian) is used in extacted text instead of the original glyph 
                (Persian) in PDF file
[PDFBOX-1427] - PDF page rotation is not working
[PDFBOX-1431] - Some pdfss created by ABBY trigger a NPE
[PDFBOX-1432] - PDF rotation problem
[PDFBOX-1434] - Font being changed after form field is set
[PDFBOX-1440] - Garbled image from PDFToImage
[PDFBOX-1443] - Images are rendered blank
[PDFBOX-1445] - /ImageMask true does not work. Patch included.
[PDFBOX-1447] - wasted work in PDFMarkedContentExtractor.processTextPosition()
[PDFBOX-1449] - Preflight doesn't report on non-embedded font
[PDFBOX-1456] - wasted work in PublicKeySecurityHandler.prepareForDecryption()
[PDFBOX-1458] - wasted work in PDOptionalContentProperties.setGroupEnabled()
[PDFBOX-1464] - unnecessary linear searches in "CFFParser.Format0FDSelect.getFd"
[PDFBOX-1465] - Preflight crashes on PDF
[PDFBOX-1469] - [PATCH] PDPageContentStream incorrectly sets colors in CMYK color space
[PDFBOX-1470] - about attribute is serialized more than one time in XmpSerializer
[PDFBOX-1471] - Parsing of xmp properties set in xml attributes is not done
[PDFBOX-1473] - Incorrect handling of OpenType fonts
[PDFBOX-1475] - Exception thrown during rendering page if /DecodeParms specified indirectly 
                (like [9 0 R]) in XObject/Image
[PDFBOX-1476] - Isartor tests fails due to bad rdf:about handling
[PDFBOX-1477] - PDF/A file is declared invalid on windows and valid with linux
[PDFBOX-1481] - Ignore postscript code when parsing a type1 font
[PDFBOX-1482] - Java color spaces returned by PDDeviceN do not take tint transformation into account 
                and type mismatch
[PDFBOX-1489] - Maven Dependency not resolveable agains central
[PDFBOX-1490] - pdf page => inline image not converted
[PDFBOX-1491] - Image with colour key masking triggers NPE
[PDFBOX-1496] - Can't add multiple form XObjects to a PDF - they become duplicated
[PDFBOX-1497] - Preflight throws an exception on DeviceN validation
[PDFBOX-1499] - The blank white page is converted with method pdPage.convertToImage();
[PDFBOX-1501] - Width of the character "201" .. inconsistent with the width in the PDF dictionary.
[PDFBOX-1504] - Split document issue
[PDFBOX-1505] - [PATCH] CharStringRenderer does not render CharString data correctly for Type 2 
                CFF fonts
[PDFBOX-1517] - PDFSplit: split is set to one if no -split argument present
[PDFBOX-1518] - ClassCastException writing text to a page
[PDFBOX-1522] - Some PDF files are causing exception (java.io.IOException: Error: Could not find 
                font(COSName{F53.0}) in map=)
[PDFBOX-1535] - Extract text from PDF cause Nullpointer Exception in PDFStreamEngine.processEncodedText
                Method

Misc

[PDFBOX-1366] - Reduce xmpbox code complexity
[PDFBOX-1528] - rename org.apache.padaf.xmpbox to org.apache.xmpbox
[PDFBOX-1530] - Respect PDFBox coding rules in new modules
[PDFBOX-1531] - Reaarange xmpbox and preflight maven modules
[PDFBOX-795] - PDPage convertToImage partially generates image file and throws exception

Release Contents
----------------

This release consists of a single source archive packaged as a zip file.
The archive can be unpacked with the jar tool from your JDK installation.
See the README.txt file for instructions on how to build this release.

The source archive is accompanied by SHA1 and MD5 checksums and a PGP
signature that you can use to verify the authenticity of your download.
The public key used for the PGP signature can be found at
{'fraction_non_alphanumeric': 0.07152852529601722, 'fraction_numerical': 0.050914962325080734, 'mean_word_length': 4.406168169915624, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5676860', 'n_tokens_mistral': 5980, 'n_tokens_neox': 5291, 'n_words': 2243}