Commit Graph

1274 Commits

Author SHA1 Message Date
mvantzet
3594231c67 Introduce ITokenWriter / non-static TokenWriter class. This is the first step
in making it possible to override methods in the token writer, for example to filter
streams when writing using PdfDocumentBuilder.

The second step is injecting ITokenWriter into PdfDocumentBuilder.
2022-12-15 18:01:10 +01:00
Eliot Jones
9c9c7c99ea ci new namespace file scope unsupported 2022-10-09 16:01:20 -04:00
Eliot Jones
e2246a88bb #482 add skip missing fonts option and pass parsing options to content stream processor
this doesn't fix the reported issue since the pdf itself is corrupted on page 8 however it will
allow recovery in some scenarios where text content isn't important.

also adds more informative error when stream unintentionally passed with non zero offset
2022-10-09 13:44:05 -04:00
Eliot Jones
c643facee0 #481 skip resource entry if null token 2022-10-09 13:06:04 -04:00
Eliot Jones
2f9a9ace9a Merge pull request #473 from grinay/master
Fix page number order.
2022-08-13 16:02:44 -04:00
grinay
19962af011 Fix page number order.
For case when root nod has reference to page the order will be incorrect.
The case if root node has reference
[2 0 R 3 0 R 10 0 R]
Where 2 0 R is intermediate node containing page 1,2,3

Where 3 0 R is intermediate node containing page 4,5,6
Where 10 0 R is page 7

without that fix 7 page will in array as page 1
2022-07-29 18:27:56 +08:00
Eliot Jones
545d1a0793 Merge branch 'master' of github.com:UglyToad/PdfPig 2022-07-02 18:09:22 -04:00
Eliot Jones
3cd81297c1 handle infinity symbol encountered in edge-case files 2022-07-02 18:09:11 -04:00
Eliot Jones
fc71a91dfa Merge pull request #463 from Jonowa/master
Added graphic functions to PageBuilder
2022-06-21 08:00:14 -04:00
Eliot Jones
f2188729a3 #453 handle messed up number format 2022-06-17 20:35:21 -04:00
Jörg Nowak
ae83861c5f Correct value of cc in DrawEllipsis 2022-06-09 07:49:50 +02:00
Jörg Nowak
21dfa3e985 Add DrawTriangle, DrawCircle and DrawEllipsis 2022-06-08 13:20:06 +02:00
Eliot Jones
559f3af5f3 Merge pull request #459 from BobLd/master
Fix #458 - GrahamScan exception
2022-05-24 08:15:04 -04:00
BobLD
5eed9fd1bc Fix #458 Check if stack has element and invert sorting order in GrahamScan(), add tests 2022-05-24 07:47:55 +01:00
Eliot Jones
ddab53e456 remove stray debugging code 2022-05-10 10:14:36 -04:00
Eliot Jones
4e490d63be #444 handle invalid tounicode map objects in tt fonts 2022-05-02 16:17:05 -04:00
Eliot Jones
03692cf42f set version to alpha of 0.1.7 for future nightly builds 2022-04-25 10:06:46 -04:00
Eliot Jones
5597a8f38c version 0.1.6 v0.1.6 2022-04-25 09:22:47 -04:00
Eliot Jones
2576c3d838 #443 fix bug in new calculated offset which caused xref issue 2022-04-24 13:19:32 -04:00
Eliot Jones
8ca0ed3842 #443 make xref parsing more tolerant for near misses
this whole thing needs a bit of a refactor but this will do for now
2022-04-24 13:07:30 -04:00
Eliot Jones
2a68670896 #443 handle case where file version comment token included in string by tokenization
instead just brute force the raw content
2022-04-24 12:37:26 -04:00
Eliot Jones
801a395ba4 #418 skip operands if missing symbols 2022-04-22 16:32:59 -04:00
Eliot Jones
26f028c421 #437 actually use code written for multi-part xref tables and fix bug 2022-04-22 16:32:38 -04:00
Eliot Jones
a12fc0ce34 #441 option to replace tabs and whitespace with space character in generated text 2022-04-22 16:31:53 -04:00
Eliot Jones
cbd02a270f don't throw if no information dictionary if lenient parsing 2022-04-14 20:46:36 -04:00
Eliot Jones
49ce5c7eb7 Merge pull request #440 from UglyToad/diacritics-stuff
add handling for combining diacritics #439
2022-04-14 20:29:53 -04:00
Eliot Jones
eb0758f050 only combine when it forms part of the same byte sequence 2022-04-14 20:22:49 -04:00
Eliot Jones
b5b15ee593 add handling for combining diacritics 2022-04-14 20:14:09 -04:00
Eliot Jones
4bcbb0655c include reference to public api changes for 0.1.6 2022-04-14 19:29:08 -04:00
Eliot Jones
10680299cb Merge pull request #432 from BobLd/master
Refactor DLA
2022-04-14 19:20:59 -04:00
Eliot Jones
09a623d2d3 support writing non-sequential xref tables 2022-04-10 12:35:25 -04:00
Eliot Jones
3195422376 remove preview static local function by moving to class scope 2022-04-10 12:06:12 -04:00
Eliot Jones
2d34e46122 remove not-required compiler directive 2022-04-10 11:52:33 -04:00
Eliot Jones
9cffd501fa Merge pull request #435 from theolivenbaum/master
Remove recursive algorithm on netstandard2.0 and above
2022-04-10 11:50:02 -04:00
Eliot Jones
c2ecb7853b fix bug with floating point type 2 charstring calculation #425 2022-04-04 17:23:39 -04:00
Eliot Jones
fb033bc87e remove old build status badge 2022-04-04 08:17:35 -04:00
Eliot Jones
d2864f761a Merge pull request #436 from UglyToad/net6-target-framework
Net6 target framework
2022-04-04 07:39:15 -04:00
Eliot Jones
e402a07105 add net 6 support in actions 2022-04-03 15:22:39 -04:00
Eliot Jones
3ab0883cf3 fix bug with handling of more than 256 bytes 2022-04-03 15:20:42 -04:00
Eliot Jones
347259eaa5 #433 address breaking change in aes api in net 6
https://github.com/dotnet/runtime/issues/55527
2022-04-03 15:13:45 -04:00
Eliot Jones
9be57c6948 use precision in assert for letter bounding box tests 2022-04-03 15:00:38 -04:00
Eliot Jones
d7898d851c add net 6 as a target framework and dual target tests 2022-04-03 14:48:50 -04:00
Eliot Jones
6b08547481 use windows 2019 now 2016 is deprecated 2022-04-03 14:26:37 -04:00
Eliot Jones
6a32d041a4 naughty local tests, go away 2022-04-02 15:59:08 -04:00
Eliot Jones
2fd46571b3 #434 ensure companion stream is added to cross reference on building 2022-04-02 15:58:22 -04:00
rafael-aero
75a9665ff6 refactor ProcessPagesNode not to use a recursive algorithm 2022-03-28 22:49:48 +02:00
theolivenbaum
c14238676c Add depth check 2022-03-28 20:57:51 +02:00
Eliot Jones
abcbdc55e3 Merge pull request #421 from MeVitae/doxygen-docs
Doxygen docs
2022-03-15 11:06:36 -04:00
Eliot Jones
9c83eaf9b0 Merge pull request #430 from zlangner/patch-1
Fixed null ref exception in PdfDocumentBuilder
2022-03-14 12:20:12 -04:00
BobLD
05aba1cfe7 Make DlaOptions an interface, add IWordExtractorOptions, remove GetBlocks(words, options), GetWords(letters, options) and put options in constructors - Fix #424. Tidy up code 2022-03-12 13:41:28 +00:00