Commit Graph

600 Commits

Author SHA1 Message Date
BobLd
ec613d337f correct Word bounding box 2020-05-30 13:03:59 +01:00
BobLd
5f75205e41 rename TextDirection into TextOrientation 2020-05-30 13:03:59 +01:00
BobLd
40afe977a3 check for ItalicAngle != 0 2020-05-23 16:26:39 +01:00
Eliot Jones
256c2833ab 0.1.2-alpha002 2020-05-10 16:36:14 +01:00
BobLd
bb33741552 Fix KdTree.FindNearestNeighbours(k) returning the pivot itself 2020-05-10 15:49:00 +01:00
Eliot Jones
0512bb1e4f handle indirect references appearing in cid font widths array #174 2020-05-10 15:46:38 +01:00
BobLd
f91acefcfa Set ClipPaths to false if no ParsingOptions given (consistent behaviour) 2020-04-27 17:21:52 +01:00
Eliot Jones
09b951f667 expose font details on individual letters
also fixes a regression for image extraction
2020-04-25 17:15:26 +01:00
Eliot Jones
98dd736f94 0.1.2-alpha001 2020-04-25 15:20:07 +01:00
Eliot Jones
ae62197178 merge pull request #167 from bobld/master
Improve NearestNeighbourWordExtractor
2020-04-25 15:07:18 +01:00
Eliot Jones
19047f62ae fix name output for merged documents 2020-04-25 11:23:37 +01:00
BobLd
ae82c30a31 Merge branch 'master' of https://github.com/UglyToad/PdfPig 2020-04-25 10:10:08 +01:00
Eliot Jones
27e251f921 make filter provider and filter public and use tryget for image bytes 2020-04-25 09:42:24 +01:00
Eliot Jones
635c4b4c5e formatting tidy-up 2020-04-25 09:11:16 +01:00
BobLd
0a6ec3946b NearestNeighbourWordExtractor:
- Improve results by using PointSize
- Make 'filterFunction' public for ad hoc GetWords()
- Allow text in different direction

Make Letter.PointSize public and add warning (needed for NNWordExtractor)
Remove Page.GetPointSize(Letter letter)
2020-04-20 13:09:35 +01:00
Eliot Jones
407ee5ca51 add content order text extractor and example of use 2020-04-19 17:06:34 +01:00
Eliot Jones
f18bc0766a #161 handle zero point size by using rotated matrix 2020-04-19 10:28:11 +01:00
Eliot Jones
25314cc79d #161 change rotation to fix values and page size
this doesn't account for images and pdf paths yet.
2020-04-18 18:04:41 +01:00
Eliot Jones
b122bf0ca6 inline transformation code and cache afm strings 2020-04-18 13:56:39 +01:00
Eliot Jones
db442194c3 use a mutable struct 2020-04-18 12:10:17 +01:00
BobLd
93c19d72ec improve mbr by removing PdfPoints creation 2020-04-18 11:09:49 +01:00
Eliot Jones
e382e581ba add merge test for document with object stream 2020-04-16 20:57:57 +01:00
Eliot Jones
635ae13a77 add pdf/a2-a support 2020-04-16 20:50:21 +01:00
BobLd
88c5aeebd5 Make DateFormatHelper public 2020-04-12 10:15:12 +01:00
Eliot Jones
45ac8c8a60 default clipping to false for performance 2020-04-05 17:58:57 +01:00
Eliot Jones
2998b1b2eb tidy up clipper related code 2020-04-05 17:58:57 +01:00
BobLd
60595e1341 Check if current path is null for path construction operators 2020-04-05 17:58:57 +01:00
BobLd
270b1b5ef5 add comment about bezier curves/polylines when clipping 2020-04-05 17:58:57 +01:00
BobLd
e2b03c3075 implement clipping using Clipper (Boost Software License) 2020-04-05 17:58:57 +01:00
BobLd
a759a99389 Move ClipPaths option from GetPage() to ParsingOptions 2020-04-05 17:58:57 +01:00
BobLd
ec2dcdc9f4 Check if CurrentSubpath is null in CloseSubpath() 2020-04-05 17:58:57 +01:00
BobLd
d804a63905 update comments 2020-04-05 17:58:57 +01:00
BobLd
b923a42f9e Check if CurrentSubpath null before CloseSubpath 2020-04-05 17:58:57 +01:00
BobLd
20c4b9594b Rename PdfSubpath.ClosePath() to PdfSubpath.CloseSubpath() to avoid confusion 2020-04-05 17:58:57 +01:00
BobLd
04300eb12c Add PdfSubpath comment 2020-04-05 17:58:57 +01:00
BobLd
401c4484b5 remove static for local function (recommended by VS2019) 2020-04-05 17:58:57 +01:00
BobLd
064fa4922a make Clipping internal
do not throw errors when CurrentPath is null
modify tests to match
2020-04-05 17:58:57 +01:00
BobLd
51165dc11a Implement EndPath
Make path clipping optional
2020-04-05 17:58:57 +01:00
BobLd
a7fe39fc32 Add SvgTextExporter
Modify WriteSvg to account for height
2020-04-05 17:58:57 +01:00
BobLd
983cfcb2f6 Simplify path construction operators
fix 're' operator to reflect documentation
Update ContentStreamProcessor with fill, stroke and clip operations
Throw errors when currentPosition is null in PdfSubpath
2020-04-05 17:58:57 +01:00
BobLd
3ee9ac7915 Implement FillStrokePath() operator and filling rule. 2020-04-05 17:58:57 +01:00
BobLd
5eb2cc507e Add CurrentClippingPath to CurrentGraphicsState 2020-04-05 17:58:57 +01:00
BobLd
83ef10ec22 Add Clipping helper class. Does nothing for the moment 2020-04-05 17:58:57 +01:00
BobLd
43b40da5d5 Change Subpath to path where necessary 2020-04-05 17:58:57 +01:00
BobLd
002d8dc06d Move Path-Painting Operators to PathPainting folder 2020-04-05 17:58:57 +01:00
BobLd
c4a077bbbb Add IsFilled and IsStroked flags
Add CloneEmpty() and GetBoundingRectangle()methods
2020-04-05 17:58:57 +01:00
BobLd
2b68547131 Moving PdfPath from PdfPig.Core to PdfPig
Add FillColor, StrokeColor, LineWidth, LineDashPattern and LineCapStyle to PdfPath.
2020-04-05 17:58:57 +01:00
BobLd
6677641b37 Create PdfPath
Rename ClippingRule to FillingRule
Move FillingRule from Subpath to Path
2020-04-05 17:58:57 +01:00
BobLd
ab6a0f11fc Change name from PdfPath to PdfSubpath 2020-04-05 17:58:57 +01:00
Eliot Jones
f1be6634a7 add a bunch more performance improvements
filter provider becomes single instance and no longer has constructor parameters.

tokenizers use list and stringbuilder pools to reduce allocations.

system font finder becomes static to preserve file cache across all documents.
2020-04-05 15:34:47 +01:00