Skip to content

Releases: UglyToad/PdfPig

Red Wattle Hog

06 Oct 14:50
Compare
Choose a tag to compare

This will be the last release solely by the current maintainer, future releases can come from new co-maintainer(s) and you should audit your dependency upgrades on this basis.

This is the first major release in well over a year so it is not feasible to provide exhaustive release notes.

This release contains many performance improvements and bug-fixes. We also drop support for the following full framework versions:

  • .NET 4.5.1
  • .NET 4.5.2
  • .NET 4.6
  • .NET 4.6.1

If you are using full framework the newest version has additional dependencies:

The other major change is to use double instead of decimal package-wide. This should provide performance benefits and more closely matches the behavior in the official PDF specification. Where you were using decimal before you will need to switch to double.

Thanks to all the contributors!

Tamworth

05 Jun 20:38
Compare
Choose a tag to compare

This is a release with various bug-fixes and quality of life improvements but no new major features. It adds many of the supporting classes necessary for PDF rendering.

Breaking Changes

  • IColor can now be of type PatternColor. This implementation will throw an error when calling ToRGBValues(). You might have to check for IColor.ColorSpace != ColorSpace.Pattern before calling this function
  • Remove Details suffix from ColorSpaceDetails property names
  • AlternateColorSpaceDetails renamed to AlternateColorSpace
  • BaseColorSpaceDetails renamed to BaseColorSpace
  • Seal IColor implementations
  • Use double instead of decimal in color spaces and colors
  • Move IColorSpaceContext from IOperationContext to CurrentGraphicsState
  • Removed ColorSpace property from IPdfImage. Use ColorSpaceDetails.Type to get the enum value
  • IColorSpaceContext's CurrentStrokingColorSpace and CurrentNonStrokingColorSpace are now of type ColorSpaceDetails (not a ColorSpace enum anymore). Use CurrentStrokingColorSpace.Type or CurrentNonStrokingColorSpace.Type to get the enum value
  • Logic change to DefaultWordExtractor, a logic bug in the existing implementation was fixed, meaning the output of the default page.GetWords() may change in this version

NET 4.5

Note that this version removes support for .NET 4.5. Consumers should upgrade to .NET 4.5.1 or 4.5.2

Release notes

  • Fix support for using the ZapfDingbats Standard 14 font when creating files
  • Address issue with extracting CJK text from PDFs
  • Fix issue with writing ShowText operations to output files when the text contained parentheses
  • Error handling for Type 2 charstring parsing
  • New letter properties, TextRenderingMode, StrokeColor and FillColor
  • Fix for copying inline images to output files
  • Enums for PDF/A-3 compliance
  • Fix for library embedding PNGs with invalid information on output
  • Resolve PageSize enum for landscape orientation documents
  • Fix to rotation handling. The coordinates used for letters etc. are different now for rotated and/or cropped pages
  • Fix to calculated positions of annotations
  • Fix to adding JPG files to output documents
  • Add height to Type 3 font bounding boxes and default width/height for zero values
  • CreationDate and ModifiedDate are now available in DocumentInformationBuilder
  • Images can be added to document builder without specifying placement rectangle, this will place the image at 0,0 with full width and height
  • PdfAction exposed by Annotation class. InReplyTo property also added
  • GetFields extensions method for AcroForm type
  • Fix for internal links when using existing documents with annotations with PdfDocumentBuilder
  • Handle name conflicts when using PdfDocumentBuilder with one or more existing documents
  • Swaps internal uses of Rijndael and RijndaelManaged to Aes since these were marked as obsolete

Gloucestershire Old Spots

13 Dec 03:16
Compare
Choose a tag to compare

Changes since 0.1.6:

  • Add page.SetRotation for PdfPageBuilder
  • Add SkipMissingFonts to parsing options to ignore content where the font is not present or corrupt. Can result in content being missed during extraction but will enable partial extraction of retrievable content on page for corrupted files.
  • Multiple bug fixes thanks to @fnatzke
  • Fix to page number order bug on extraction thanks to @grinay
  • Various shape drawing utilities on PdfPageBuilder thanks to @Jonowa
  • Fix to issue in GrahamScan thanks to @BobLd
  • Remove stray Debugger.Break from the encryption handler
  • Various other bug fixes

Australian Yorkshire

25 Apr 14:05
Compare
Choose a tag to compare

Mainly bug fixes. There are some compatibility changes in the document layout analysis API. See here: https://github.com/UglyToad/PdfPig/wiki/Migration-to-0.1.6

  • Fix transparency being applied for PDF/A-1
  • Fixes to string handling
  • .NET 6.0 support
  • Handle null rather than missing encryption data
  • Fixes bug with size of JPG files in documents created by PdfPig
  • Better handling for unusual Type1 fonts
  • Support for invisible/hidden text in document builder
  • Fixes stack overflow when parsing page tree for some documents
  • Fixes bug in some glyph bounding boxes for Type2 fonts
  • Handle non-contiguous xref ranges when building a document
  • Better location of version headers for non-compliant documents

Finnish Landrace

17 Sep 15:23
Compare
Choose a tag to compare

Changes since v0.1.4: v0.1.4...v0.1.5

0.1.5 Second Alpha

09 May 17:11
Compare
Choose a tag to compare
0.1.5 Second Alpha Pre-release
Pre-release

Some more bug-fixes:

  • Fix for object streams in files which require brute force searching.
  • Handle NullToken presence when creating documents.
  • Support for PDFs where the filters are defined as indirect references (against specification).
  • Support for CMYK when generating PNG images from IPdfImage.
  • Support for indexed ColorSpaces where palette is stored in a string.
  • Handle UTF16 strings in encrypted document dictionaries.
  • Handle documents with a XMP metadata stream instead of an information dictionary.
  • CCITTFaxDecode filter support.
  • Tweaks to DefaultWordExtractor to try and detect word gap size based on preceding text instead of a global gap threshold.

Note that changes to DefaultWordExtractor may change the output of calls to Page.GetWords() in this version.

0.1.5 First Alpha

28 Feb 18:01
Compare
Choose a tag to compare
0.1.5 First Alpha Pre-release
Pre-release

First alpha version of 0.1.5

  • Fix glyph bounding boxes and paths for Type1 fonts using flexpoints.
  • Fix stack overflow when merging some documents.
  • Support loading existing documents into PdfDocumentBuilder.
  • Performance improvements for multithreaded scenarios.
  • Fix checked value for AcroForm checkboxes where the checked state is appearance only.
  • New page.GetOptionalContents() partial optional content retrieval support.
  • Partial support for colorspace details on IPdfImages.
  • Multiple bug-fixes for various font related issues.

Breaking changes:

  • PdfDocumentBuilder now implements IDisposable. This disposes the underlying stream by default but this is a MemoryStream normally so not any serious consequences if left undisposed.
  • PdfPageBuilder had the AdvancedEditing property removed. The API is now available in the ContentStream methods / properties (this was from #250).

British Lop

29 Nov 18:08
Compare
Choose a tag to compare
  • Adds support for filling rectangles when using PdfDocumentBuilder. The DrawRectangle method now takes an optional boolean parameter, fill.
  • Fix bug recognising Standard 14 fonts with Arial MT naming.
  • Handle unusual object streams containing endobj tokens.
  • Support broken Differences arrays for encodings.
  • Support very long xref streams by making infinite loop detection more relaxed.
  • Fix issue with parsing Type0 fonts that are using indirect references.
  • Internal structure changes to support pdf to image work.

Göttingen Minipig

15 Nov 16:16
Compare
Choose a tag to compare
  • Fixes a set of bugs for font handling and PDF parsing.
  • Improves font detection on Linux systems
  • Improves calculation of PointSize for letters accounting for rotation and other transformations
  • Improves document layout analysis results in some cases
  • Fixes writing UTF strings when using document builder
  • Improvements to PDF graphics path API

0.1.3 First Alpha

04 Sep 12:20
Compare
Choose a tag to compare
0.1.3 First Alpha Pre-release
Pre-release

First alpha version of 0.1.3