Commit Graph

882 Commits

Author SHA1 Message Date
Adam Busbin
00b9d416df added check for bad fonts see 61ceca8376/fontbox/src/main/java/org/apache/fontbox/ttf/HorizontalMetricsTable.java line 67 for matching code. 2020-04-25 08:40:12 +01:00
Eliot Jones
48aa9169c5 add whitespace size statistics to api scanner test 2020-04-19 17:10:46 +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
23087fe38c add extract images example 2020-04-18 18:55:44 +01:00
Eliot Jones
563985e2b4 add examples directory and first example 2020-04-18 18:46:26 +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
ab94746252 Improve default RecursiveXYCut dominant font width and height functions 2020-04-13 10:25:34 +01:00
BobLd
b462c3bea4 update PublicApiScannerTests 2020-04-12 10:15:12 +01:00
BobLd
88c5aeebd5 Make DateFormatHelper public 2020-04-12 10:15:12 +01:00
Eliot Jones
75c04eb81c fix namespace using order 2020-04-05 17:58:57 +01:00
Eliot Jones
2a0a3fae69 add test for svg exporter and escape xml characters 2020-04-05 17:58:57 +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
9a2a72ea2e remove clipping to fix CanGetArtifact() test 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
c14646fcc0 Fix Mode() 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
16a17f3b8d update IsClosed() with Move 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
Eliot Jones
7baa18b5dd add stringbuilder pool for tokenizers
we could replace these with spans in the next net core however for now our pools seem to increase performance by reducing gc load.
2020-04-04 18:31:55 +01:00
Eliot Jones
cf46230c05 #127 add pdf/a2-b compliance to the builder 2020-04-04 17:49:27 +01:00
Eliot Jones
729234477a fix issue with null encodings for cid fonts 2020-04-04 17:30:06 +01:00
Eliot Jones
9abe9f4b2f #158 add strong naming to the solution 2020-04-04 16:59:51 +01:00