Commit Graph

333 Commits

Author SHA1 Message Date
Eliot Jones
caf1a0c233 use invariant culture for parsing all numbers #37 2019-06-18 19:12:51 +01:00
BobLd
4416793f6d Corrected PublicApiScannerTests 2019-06-16 19:19:44 +01:00
BobLd
a0c864e8af Addind Document Layout Analysis:
- Nearest Neighbour Word Extractor
- Recursive X-Y Cut algorithm, useful for multi-column pdf documents
2019-06-16 13:57:30 +01:00
Eliot Jones
2c9a3d6e96 add test coverage for direct object finder 2019-06-14 20:57:46 +01:00
Eliot Jones
98424b32aa special case handling for faulty offsets in xref with missing whitespace between eof and object number 2019-06-14 20:40:24 +01:00
Eliot Jones
4c716fcbd6 finish support for revision 5 encryption using aes 256 #34 2019-06-13 19:46:08 +01:00
Eliot Jones
f3c8220ec4 add test coverage for invalid document from #33 2019-06-08 16:58:20 +01:00
Eliot Jones
21a4ba597e add support for aes-128 decryption #34 2019-06-08 15:23:21 +01:00
Eliot Jones
39d05e6a47 support big endian and little endian utf 16 in string tokens #32 2019-06-05 18:03:20 +01:00
Eliot Jones
31d12eb731 handle extraneous def token in some dictionaries and skip returning glyph bounds if not in font 2019-05-19 13:27:38 +01:00
Eliot Jones
f884674807 Merge branch 'master' of https://github.com/UglyToad/Pdf 2019-05-18 12:25:57 +01:00
Eliot Jones
f3bc3a37b9 add lzw filter support 2019-05-18 12:25:47 +01:00
BobLd
f4ec425bf0 - Correction of the PdfLine's length formula;
- Moving Line to TextLine
2019-05-15 19:44:47 +01:00
BobLd
de421d65a1 Adding Line, PdfLine 2019-05-12 19:39:58 +01:00
Eliot Jones
5b5a0b7f55 fix null reference bug and handle escaped escape characters in string tokenization 2019-05-11 15:35:56 +01:00
Eliot Jones
90e9c46373 correctly determine compact font format encoding where supplements are used and pass the font encoding for type 1 fonts to the encoding used to read the pdf 2019-05-11 11:56:01 +01:00
Eliot Jones
03af28ed6d fix bug with compact font format font matrix reading and where endstream token is missed if immediately following 'e' 2019-05-10 20:02:29 +01:00
Eliot Jones
23c033c788 implement validation of owner password and throw more descriptive exception for encrypted documents 2019-05-09 19:02:39 +01:00
Eliot Jones
bad57763a1 finish initial support for rc4 encryption with blank user password 2019-05-06 15:41:29 +01:00
Eliot Jones
27928cd3a3 add rc4 tokenizer and key generation per object 2019-05-05 15:34:48 +01:00
Eliot Jones
be394f5bba start adding support for reading encrypted documents 2019-05-04 15:36:13 +01:00
BobLd
70852c2855 - Adding a TextDirection enum.
- In the Letter class:
     - Renaming 'Location' to 'StartBaseLine' and adding 'EndBaseLine' for better localisation of the letter ('Location' is also kept).
     - Adding TextDirection.
- Fixed Test
2019-04-20 10:52:15 +01:00
Eliot Jones
a4305cc86c test letter positions with truetype standard14 mutant. fix truetype table overflow. read compact font format encodings 2019-01-12 18:07:53 +00:00
Eliot Jones
d86c79da45 improve caching for system font finder and fix issue with composite glyphs in truetype fonts 2019-01-09 20:42:49 +00:00
Eliot Jones
b6a528a97d #9 add support for cff cid fonts, currently bounding box and width are calculated incorrectly. 2019-01-07 20:52:42 +00:00
Eliot Jones
cdf5546a1b #24 add the missing operations for the graphics state 2019-01-06 15:47:33 +00:00
Eliot Jones
406f0e6184 #24 add missing marked content operators, still 2 to go 2019-01-06 11:34:25 +00:00
Eliot Jones
4e37222729 #24 fix tests for public types 2019-01-05 15:17:24 +00:00
Eliot Jones
f1621b3924 #24 make some fields public 2019-01-05 15:13:32 +00:00
Eliot Jones
cd84edbdc8 #26 add missing operation and expose the content stream directly to the user through the page 2019-01-04 19:54:55 +00:00
Eliot Jones
611786855b #26 make all operations writable and test 2019-01-04 19:17:54 +00:00
Eliot Jones
2a30631ab7 #26 make all operation classes public and test 2019-01-04 18:55:36 +00:00
Eliot Jones
5c8a77bf33 #26 make almost all operators public 2019-01-03 22:20:53 +00:00
Eliot Jones
20e843f5ae #24 start adding classes for the acroform api 2019-01-01 17:44:46 +00:00
Eliot Jones
abd9212862 fix document creation behaviour for multiple pages 2018-12-30 14:39:49 +00:00
Eliot Jones
4d5518a599 move annotations to experimental access, support changing color state for document creation and update readme 2018-12-30 14:12:04 +00:00
Eliot Jones
55a0e6b646 move large strings from code files to avoid wrong language detected on github 2018-12-29 11:55:19 +00:00
Eliot Jones
79c555e967 #9 add some more code for reading glyph ids from cid fonts in compact font format 2018-12-29 11:41:46 +00:00
Eliot Jones
47e49c4044 #9 fix bug with truetype fonts and start adding support for cid fonts using compact font format 2018-12-28 22:34:47 +00:00
Eliot Jones
d9052e1388 update readme and document public api for document creation 2018-12-28 16:55:46 +00:00
Eliot Jones
e11967b772 add flate filter to compress truetype font in output and fix some structure issues for pdf verification 2018-12-28 14:57:41 +00:00
Eliot Jones
713d600ee7 remove unused code and add writing support for more graphics operations 2018-12-25 10:51:36 +00:00
Eliot Jones
d8b5f00fa0 #7 improve api documentation and make font descriptor public 2018-12-22 17:58:07 +00:00
Eliot Jones
d572af8a52 finish first pass of annotation api 2018-12-22 15:54:32 +00:00
Eliot Jones
a5349dd77a start adding retrieval of annotations 2018-12-20 18:18:32 +00:00
Eliot Jones
9abf6e226c #21 use win ansi encoding 2018-12-18 18:30:51 +00:00
Eliot Jones
39786ac00a #21 add a test for accented characters and fill in more writing methods for content stream operators
the output is currently incorrect for accented characters
2018-12-14 18:33:01 +00:00
Eliot Jones
924fc7b37f #21 support writing lines, curves and rectangles. add documentinformation to output. rename characterpath 2018-12-12 00:09:15 +00:00
Eliot Jones
29f9885fc4 #21 fix widths for system font baskerville old face 2018-12-11 21:29:39 +00:00
Eliot Jones
d1722dd23e #21 use built in encoding to populate widths array 2018-12-11 20:03:18 +00:00