Commit Graph

1547 Commits

Author SHA1 Message Date
Fred Natzke
68d55150d2 Fix #350 Escape text in writer for ShowText operator for slash and open and close round brackets. 2022-12-26 14:04:02 +10:00
Fred Natzke
8b32a4d958 TYpe0Font better description of conversion to unicode. 2022-12-24 10:53:55 +10:00
Fred Natzke
4ba2a29aa0 Fix #455 extracting unicode from CJK file 2022-12-23 16:53:37 +10:00
mvantzet
94c62e1b65 Forgot to commit this updated test, to allow ITokenWriter and PdfTextRemover
to be public.
2022-12-21 09:35:29 +01:00
mvantzet
371e148c63 Remove unreachable code 2022-12-20 21:31:35 +01:00
mvantzet
6ef6c4d780 Added a PdfTextRemover utility that uses a NoTextTokenWriter, to output PDFs without text contents.
Also added unit tests to test:
- If we can use a custom ITokenWriter with PdfDocumentBuilder
- If removing text works.
2022-12-20 21:31:15 +01:00
mvantzet
9273a43965 Merge branch 'master' of https://github.com/mvantzet/PdfPig into ITokenWriter 2022-12-20 11:08:13 +01:00
mvantzet
6125c00089 Make it possible to inject a custom ITokenWriter in PdfDocumentBuilder. 2022-12-20 10:50:41 +01:00
Fred Natzke
2bcac59917 Minor cleanup of some texts. 2022-12-20 14:22:37 +10:00
Fred Natzke
7b441a3b0a Standard14WritingFontTests Add tests of invalid characters for each standard font 2022-12-20 14:17:02 +10:00
Fred Natzke
8f13e2f11c Fix #375 Add checkmark from ZapfDingbats using unicode character. Letters extracted have unicode values. 2022-12-17 17:39:15 +10:00
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
Fred Natzke
620fa9b8cc Fix #514 Print Character with ZapfDingbats font 2022-12-13 14:22:30 +10:00
Eliot Jones
c8874c5984 #483 make skip missing fonts even more resilient to nonsense files 2022-12-11 16:18:09 -05:00
Eliot Jones
2aed996319
Merge pull request #517 from fnatzke/master
Fixes for Issue#512, 516 and 519
2022-12-09 09:39:55 -05:00
Eliot Jones
060c7bc728
Merge pull request #521 from eliotjones-roger/rotation-support-for-page-builder
add ability to rotate page by number of degrees, make builder fluent
2022-12-09 09:08:27 -05:00
Eliot Jones
6764d81958
Merge pull request #520 from mjolivet-lucca/master
Adding non regression unit test to cover PR 473
2022-12-09 08:56:22 -05:00
Eliot Jones
95df15996b add ability to rotate page by number of degrees, make builder fluent 2022-12-09 08:44:56 -05:00
Mathieu jolivet
998e768bba [ADD] adding non regression unit test to cover PR 473 2022-12-08 14:38:19 +01:00
Fred Natzke
f5fe39b285 Issue 512 revisited. Use of hashset to avoid reprocessing same token in infinite loop. 2022-12-07 17:27:34 +10:00
Fred Natzke
9ef07b0176 Fix Issue 519 Break infinite loop parsing kid token list containing parent 2022-12-06 16:29:09 +10:00
Fred Natzke
29adece983 Original #516 fix causes Tests to fail. Alternative to use pagesByNumber?.Count in Catalog for discovered pages. Some other unrelated tests failed due to source using single rather than two character newlines. Changed to test string itself for '\r' rather than environment is Unix 2022-11-30 11:10:52 +10:00
Fred Natzke
a7f64ec64b Fix Issue 516. Page Dictionary Count field has incorrect page count. Compare with PageTree children count. 2022-11-30 09:25:23 +10:00
Fred Natzke
afe473e10e Fix for Issue#512: Unable to open PDF. BruteForceSearcher::GetLastEndOfFileMarker() minimumEndOffset out by 1. 2022-11-29 17:31:23 +10: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 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