Commit Graph

67 Commits

Author SHA1 Message Date
Michael R Sweet
d705d7eb5d
Fix reading PDF files whose trailer is missing a newline (Issue #80) 2024-12-08 19:14:58 -05:00
Michael R Sweet
afac83530f
Add pdfioDictGetKey and pdfioDictGetNumPairs APIs (Issue #63)
Add pdfioArrayRemove and pdfioDictClear APIs (Issue #74)
2024-10-25 17:48:19 -04:00
Michael R Sweet
21b8e3b06f
Changelog. 2024-10-25 17:17:39 -04:00
Michael R Sweet
91392a931f
Changelog. 2024-10-25 17:17:38 -04:00
Michael R Sweet
1d8bcf4d73
Start v1.4.0. 2024-10-25 17:17:38 -04:00
Michael R Sweet
9c04d1dc20
Update changelog. 2024-10-15 13:10:06 -04:00
Michael R Sweet
74dfefdcc1
Update documentation (Issue #77)
- Explain pdfioObjGetSubtype and pdfioObjGetType values
- Provide example code and documentation for accessing common page object values
2024-10-09 15:07:57 -04:00
Michael R Sweet
7d22477917
Fix opening of certain encrypted PDF files (Issue #62) 2024-08-21 11:28:39 -04:00
Michael R Sweet
6cb661f0f4
Cleanup changelog. 2024-08-21 08:25:11 -04:00
Michael R Sweet
f3f70e7877
Merge some TTF sanity check fixes from the TTF project. 2024-08-09 10:54:28 -04:00
Michael R Sweet
c35ddbec00
Changelog 2024-08-05 21:49:26 -04:00
Michael R Sweet
d6d5813b04
Update changelog with CVE number. 2024-08-05 16:34:12 -04:00
Michael R Sweet
6492f210cf
Bump version and changelog. 2024-08-05 10:23:51 -04:00
Michael R Sweet
0c1122b689
Prep for release. 2024-06-28 19:06:44 -04:00
Michael R Sweet
f040cc41c2
Add #define guard to allow MingW to build PDFio; note that MingW is NOT a supported toolchain for PDFio (Issue #66) 2024-06-24 09:03:46 -04:00
Michael R Sweet
23883268e3
Add pdfioFileGetCatalog function (Issue #67)
Refactor the pdfioFileCreateXxx functions to use a common (private) function to
handle creating/initializing the pdfio_file_t object and base file objects.

Update unit tests to display the filename for the pdfioFileClose test.
2024-06-24 08:56:16 -04:00
Michael R Sweet
0766869ad1
Bump version to 1.3.0. 2024-06-24 07:12:01 -04:00
Michael R Sweet
6c1db141a1
Switch string pool code to an insertion sort - provides a modest 25% improvement
to open speeds on typical files.
2024-01-27 20:58:50 -05:00
Michael R Sweet
e882622233
Fix locale support (Issue #61) 2024-01-27 18:22:16 -05:00
Michael R Sweet
476013706e
Prep for 1.2.0 release, bump copyright. 2024-01-24 10:53:53 -05:00
Michael R Sweet
2a85baaf81
Increase the maximum number of object streams in a file (Issue #58) - most files
only contain 1 or 2...

Change the implementation of add/find object to use a custom binary insertion
sort algorithm rather than doing a qsort after every addition.  This results in
a significant improvement in open speed - from 2371 seconds (about 39.5 minutes)
to 3.1 seconds for one large test file (an ESRI standard).
2023-12-13 12:26:25 -05:00
Michael R Sweet
2b92044504
Support per-object file IDs (Issue #42) 2023-12-12 21:48:58 -05:00
Michael R Sweet
038fd8686b
Fix trailer dictionary handling (Issue #58)
Fix generation number handling for object 0 (Issue #59)
2023-12-11 19:56:00 -05:00
Michael R Sweet
c992b2ba89
Update the token reading code to protect against obvious format abuses.
Update the xref loading code to protect against looping xref tables.
2023-12-07 17:50:52 -05:00
Michael R Sweet
16c8b830b8
Add pdfioFileCreateNumber/StringObj functions (Issue #14) 2023-12-05 08:16:41 -05:00
Michael R Sweet
7ff051fc8b
Add pdfioContentTextNewLineShow/f functions (Issue #24) 2023-12-05 07:49:49 -05:00
Michael R Sweet
927452d1eb
Changelog and exports updates. 2023-12-04 21:22:13 -05:00
Michael R Sweet
41146adbdf
Adopt autoconf (Issue #54) 2023-12-03 19:16:34 -05:00
Michael R Sweet
cd80c3037d
Prep for 1.1.4 release. 2023-12-03 16:55:57 -05:00
Michael R Sweet
97934ab995
Add ToUnicode map. 2023-11-19 20:49:30 -05:00
Michael R Sweet
088646e1cf
Drop the FEFF prefix on Unicode strings. 2023-11-19 07:30:17 -05:00
Michael R Sweet
d36df63b57
Fix a TrueType CMAP decoding bug and add a NotoSans-Regular test page. 2023-11-18 22:15:52 -05:00
Michael R Sweet
0258384d53
Range check encrypted string length (Issue #52) 2023-11-18 18:22:11 -05:00
Michael R Sweet
9fec2195d0
Update changelog. 2023-11-15 10:14:02 -05:00
Michael R Sweet
4804db38a5
Fix missing ivlen initializer for 40-bit RC4 (Issue #51) 2023-11-15 08:43:07 -05:00
Michael R Sweet
600fa4ce59
Fix Unicode font handling (Issue #16) 2023-11-14 18:19:34 -05:00
Michael R Sweet
43114f43bf
Bump version. 2023-10-10 10:22:27 -04:00
Michael R Sweet
2e91e05d7b
Allow "compound" filters that consist of a single named filter (Issue #47) 2023-10-10 07:14:12 -04:00
Michael R Sweet
b0a66eef78
Fix reading of PDF files from Crystal Reports (Issue #45) 2023-10-09 10:04:20 -04:00
Michael R Sweet
19c45871fa
Update pdfioContentSetDashPattern to support setting solid line styles (Issue #41) 2023-10-06 15:47:27 -04:00
Michael R Sweet
7f6ffcda22
Fix a couple issues with parsing PDF files produced by Microsoft Reporting
Services (Issue #46)

- Odd cross-reference stream containing 3-byte generation number field for this
  16-bit value
- Odd empty hex strings
2023-10-06 10:46:30 -04:00
Michael R Sweet
a83f7f50ff
Allow extra whitespace/newlines after stream tokens (Issue #40) 2023-10-02 05:06:33 -04:00
Michael R Sweet
35c674b633
Fix another build issue. 2023-03-20 10:11:05 -04:00
Michael R Sweet
97d4955666
Fix potential denial-of-service in flate stream code. 2023-03-20 09:27:19 -04:00
Michael R Sweet
e138232a93
Fix build error due to mismatched function declarations. 2023-03-20 08:19:31 -04:00
Michael R Sweet
8d8225f4a1
Fix release date. 2023-02-07 17:10:48 -05:00
Michael R Sweet
7045d9dad9
Bump Windows version numbers and update exports file. 2023-02-06 17:36:54 -05:00
Michael R Sweet
4f10021e7e
Fix denial-of-service attack when reading corrupt PDF files. 2023-02-03 20:39:04 -05:00
Michael R Sweet
57d5894f33
Update pdfioStreamGetToken documentation (Issue #37) 2023-01-11 17:13:58 -05:00
Michael R Sweet
a3f3bbfe11
Fix pdfioFileGetAuthor, etc. APIs (Issue #33) 2022-07-12 18:36:08 -04:00