Migration 0.0.X to 0.1.0 - UglyToad/PdfPig GitHub Wiki
There have been some substantial changes between versions 0.0.1+ to 0.1.0.
Doubles
Types exposing information on the public API such as PdfRectangle
, PdfPoint
and other numeric types previously using decimal
have now changed to use double
s. This provides performance improvements.
Consumers will need to update their code to use double
s where previously using decimal
s.
New Projects and Namespaces
In version 0.1.0 in order to support maintainability and code quality moving forward, code has been split out into new projects.
The new projects are:
- UglyToad.PdfPig.Core - For types used by all projects.
- UglyToad.PdfPig.Tokens - The core tokens used by all PostScript data (PDF, Adobe Type 1).
- UglyToad.PdfPig.Tokenization - The code used to read tokens from input.
- UglyToad.PdfPig.Fonts - Font formats such as TrueType, Standard14 Adobe Font Metrics (AFM), Compact Font Format (CFF) etc, which are external to the PDF specification.
- UglyToad.PdfPig - The main project containing all PDF specification related implementation and helper classes.
- UglyToad.PdfPig.DocumentLayoutAnalysis - Tools built on top of the main project to provide structure/layout analysis and export support for PDF documents.
The most important changes for consumers who will need to change imports are:
PdfPoint
,PdfRectangle
,PdfPath
andPdfLine
move fromUglyToad.PdfPig.Geometry
toUglyToad.PdfPig.Core
.PdfDocumentFormatException
moves fromUglyToad.PdfPig.Exceptions
toUglyToad.PdfPig.Core
.UglyToad.PdfPig.Export
classes move to a new project and namespaceUglyToad.PdfPig.DocumentLayoutAnalysis.Export
.TextBlock
andTextLine
move toUglyToad.PdfPig.DocumentLayoutAnalysis
.IndirectReference
moves toUglyToad.PdfPig.Core
.DocstrumBoundingBoxes
,IPageSegmenter
,RecursiveXYCut
andDefaultPageSegmenter
move toUglyToad.PdfPig.DocumentLayoutAnalysis.PageSegmenter
.NearestNeighbourWordExtractor
moves toUglyToad.PdfPig.DocumentLayoutAnalysis.WordExtractor
.