Commit Graph

48 Commits

Author SHA1 Message Date
Michael R Sweet
18853ca3d5
Increase token buffer to 256 bytes, to avoid overflow scenarios.
Add _pdfioTokenFlush to manually flush the token buffer.

Add more debug printfs.
2021-05-10 17:37:57 -04:00
Michael R Sweet
cfb5ca0ddc
Rework error/debug output. 2021-05-10 08:40:52 -04:00
Michael R Sweet
67ed214c59
Restructure unit test program to include unit tests and alternate error handling.
Don't log all strings after adding one.

Don't trim string buffer after reading a token.
2021-05-10 08:00:27 -04:00
Michael R Sweet
af8c731699
Update token reader to handle balanced parens and to allow arbitrary backslash escapes.
Update unit test to omit path information from filename.
2021-05-09 21:32:09 -04:00
Michael R Sweet
5f43761537
Initial support for reading pages dictionary. 2021-05-08 22:50:18 -04:00
Michael R Sweet
e1c145b10a
Defer loading the Root, Info, and Encrypt objects until we have loaded all of
the xref tables.
2021-05-08 22:05:40 -04:00
Michael R Sweet
4e4c47ab33
Add pdfioObjGetLength function. 2021-05-08 19:16:27 -04:00
Michael R Sweet
f8f048b87a
Implement Paeth predictor. 2021-05-08 19:04:42 -04:00
Michael R Sweet
979ccf19ff
Fix pdfioFileFindObject, fix cross-reference streams, implement support for
compressed object streams.
2021-05-08 11:21:49 -04:00
Michael R Sweet
9a919d478f
Rework token reading to be separate from the PDF file so we can add support
for compressed object streams.
2021-05-08 07:38:44 -04:00
Michael R Sweet
923409ceff
Save work on PNG predictors. Apparently object streams are also a common thing
for newer Acrobat so we'll need to implement those, too.
2021-05-07 19:51:38 -04:00
Michael R Sweet
44325ce2d9
Safe work on streams - still need to implement predictors 2021-05-07 08:47:49 -04:00
Michael R Sweet
c61d6ad686
Save work on streams. 2021-05-06 16:08:08 -04:00
Michael R Sweet
d2a0484d93
Rework debug functions, start xref stream support. 2021-05-06 09:51:48 -04:00
Michael R Sweet
c0b18a7e4f
Fix pdfioStringCreate - was returning a char ** instead of a char *, causing
crashes/corruption.

Optimize dict allocation/sorting.

Add more values that are displayed by the testpdfio unit test program.
2021-05-05 13:51:42 -04:00
Michael R Sweet
4abb91ca24
Save work on loading object dictionaries - have a memory issue someplace. 2021-05-04 21:31:58 -04:00
Michael R Sweet
7afdfc725c
Implement object loading. 2021-05-04 17:04:09 -04:00
Michael R Sweet
7733fbeb10
Rework object and xref processing to allow for sparse object lists and generation numbers. 2021-05-04 16:06:14 -04:00
Michael R Sweet
6287ede911
Update TODO. 2021-05-04 13:02:08 -04:00
Michael R Sweet
59ef6b48ed
Add some debug output, "debug" make target.
Fix loading of dicts, trailer.
2021-05-04 12:59:10 -04:00
Michael R Sweet
516c6b9ace
Load trailer dict. 2021-05-04 12:24:29 -04:00
Michael R Sweet
a5468b1b87
Implement value/array/dict reading, refactor indirect references. 2021-05-04 10:34:17 -04:00
Michael R Sweet
e6a6ed708a
Update todo 2021-05-02 09:59:53 -04:00
Michael R Sweet
d54dcb1f01
Update readme docos/requirements. 2021-05-02 09:59:51 -04:00
Michael R Sweet
9f15e7397c
Add start of FAQ. 2021-05-02 09:59:33 -04:00
Michael R Sweet
4b05ca6436
Token parsing code. 2021-05-01 22:38:11 -04:00
Michael R Sweet
e107b94c83
Work on token parsing. 2021-05-01 17:50:52 -04:00
Michael R Sweet
f5f0e190b5
Initial working pdfioFileOpen, test program. 2021-05-01 11:50:17 -04:00
Michael R Sweet
d13364a4fd
Implement pdfioFileOpen reading of xref table. 2021-05-01 11:41:43 -04:00
Michael R Sweet
ab740207a5
Add a simple PDF test document. 2021-05-01 09:29:10 -04:00
Michael R Sweet
fd4c2c0728
Update README to talk about Xcode project. 2021-05-01 07:43:39 -04:00
Michael R Sweet
e6dbb256f1
Add an Xcode project and fix some Clang-reported issues. 2021-05-01 07:36:19 -04:00
Michael R Sweet
8031e31abb
Do some cleanup for the array copy implmentation.
Add binary string accessors for dictionaries.

Add pdfioDictCopy implementation.
2021-04-30 08:21:21 -04:00
Michael R Sweet
9610892dd7
Implement binary string support in arrays, copy method. 2021-04-30 08:02:54 -04:00
Michael R Sweet
f5c9aef7da
Finish value copy, delete, and write methods. 2021-04-30 07:42:25 -04:00
Michael R Sweet
3a80327646
Stub stream implementations. 2021-04-30 07:06:56 -04:00
Michael R Sweet
e2e2192ea9
Save work. 2021-04-27 21:22:34 -04:00
Michael R Sweet
11588ce2f5
Save work on low-level file I/O. 2021-04-26 10:42:01 -04:00
Michael R Sweet
253717248c
pdfio_dict_t implementation 2021-04-25 20:12:52 -04:00
Michael R Sweet
2f928f67f5
Save pdfio_array_t implementation. 2021-04-25 18:12:24 -04:00
Michael R Sweet
98c48e66c2
Add string array, have the pdfio_file_t object manage allocated data. 2021-04-25 11:28:56 -04:00
Michael R Sweet
899feb15c7
Start filling out internal APIs. 2021-04-16 21:09:43 -04:00
Michael R Sweet
c2610f2dd0
Fill out basic API functions. 2021-04-16 20:41:46 -04:00
Michael R Sweet
4a33f3f6f1
Save work. 2021-04-12 16:15:08 -04:00
Michael R Sweet
3048cdd9e6
pdfioObjectClose to finalize a created object without a stream. 2021-04-12 08:26:58 -04:00
Michael R Sweet
6092d261a7
Save work on fleshing out public API. 2021-04-12 08:09:25 -04:00
Michael R Sweet
8f6db46489
Install documentation to .../doc/pdfio. 2021-04-10 08:06:37 -04:00
Michael R Sweet
7a6659038b
Initial checkin. 2021-04-10 08:00:52 -04:00