Commit Graph

100 Commits

Author SHA1 Message Date
Michael R Sweet
130cef8702 Update pdfioinfo example to support Acrobat Form dictionaries as well as indirect references (Issue #114) 2025-04-04 21:24:42 -04:00
Michael R Sweet
fe755eac3d Add PDFIO_MAX_STRING constant to control maximum allowed PDF strings (Issue #117) 2025-04-04 19:27:03 -04:00
Michael R Sweet
8cca645835 Update date/time parsing (Issue #115) 2025-04-04 19:12:16 -04:00
Michael R Sweet
2874022aa4 Allow empty name tokens (Issue #116) 2025-04-04 18:26:35 -04:00
Michael R Sweet
3b2f7e21d9 Prep for 1.5.1 release. 2025-03-28 14:39:59 -04:00
Michael R Sweet
88839ccb56 Fix UTF-16 LE support (Issue #112) 2025-03-28 14:28:43 -04:00
Michael R Sweet
ebd5aab39b Fix handling of 0-length streams (Issue #111) 2025-03-27 12:44:42 -04:00
Michael R Sweet
cfe91b4ea2 Fix output of special characters in name values (Issue #106)
Fix output of special characters in string values (Issue #107)
Fi output of large integers in dictionaries (Issue #108)

Bump version to 1.5.1.
2025-03-24 18:33:24 -04:00
Michael R Sweet
458f366d78 Fix some Unicode font embedding issues:
- Reworked Widths array compression for CID fonts to require at least 4 repeated
  widths.
- Fixed the embedded CMap for Unicode fonts.
2025-03-06 17:09:27 -05:00
Michael R Sweet
4165cd23ba Fix some issues discovered by some PDF checking tools:
- Extremely small floating point numbers would be written with exponential
  notation my the pdfioContent functions.  They are now written with up to 6
  decimal places of precision with excess trailing 0's removed.
- 8-bit (simple) TrueType fonts were embedded without a Widths array, which
  made Acrobat Reader sad but nobody else...
- Switched to using the WinANSI base encoding, which is CP1252.
2025-03-06 16:04:00 -05:00
Michael R Sweet
7e56d26ff8 Prep for release. 2025-03-06 14:41:34 -05:00
Michael R Sweet
e9debcd169 Add some more range checking to the cmap code. 2025-03-06 14:16:38 -05:00
Michael R Sweet
2f925ccd3c Update documentation and pdf2text example (Issue #95) 2025-03-06 12:40:19 -05:00
Michael R Sweet
89c2a75376 Fix a potential heap overflow in the TrueType cmap code. 2025-02-24 10:55:28 -05:00
Michael R Sweet
f09105dd3f Add support for writing the PCLm subset of PDF (Issue #99) 2025-02-20 18:18:53 -05:00
Michael R Sweet
aeee24b856 Add xref stream support (Issue #10) 2025-02-15 21:54:16 -05:00
Michael R Sweet
8d72f22efe Add support for 'repairing' damaged PDF files (Issue #45) 2025-02-15 17:26:23 -05:00
Michael R Sweet
afa010cea2 Add ICC color profile support for JPEG files (Issue #7) 2025-02-14 13:22:30 -05:00
Michael R Sweet
5f98c7838c Rename pdfioFileGetModDate to pdfioFileGetModificationDate.
Add pdfioFileSetModificationDate API.

Update DLL exports file.

Update docos and changelog.
2025-02-13 18:56:43 -05:00
Michael R Sweet
e686669b9d Save work on libpng PNG loader (Issue #90) 2025-02-10 21:25:59 -05:00
Michael R Sweet
5b5de3aff6 Update pdf2txt example to support font encodings. 2025-01-28 14:26:33 -05:00
Michael R Sweet
a4026bfe00 Prep for release. 2025-01-24 15:30:59 -05:00
Michael R Sweet
cca7383c73 Fix support for UTF-16 string values in dictionaries (Issue #92)
Specifically to support Unicode Title and Author values.
2025-01-24 10:43:41 -05:00
Michael R Sweet
dd7ed67ec1 Update makesrcdist to validate CHANGES.md. 2025-01-23 15:34:43 -05:00
Michael R Sweet
9e2f3aba10 Fix reading of compressed object streams (Issue #92) 2025-01-23 15:27:22 -05:00
Michael R Sweet
fca4dbd395 Make sure we have license files for the example fonts (Issue #91) 2025-01-23 13:03:23 -05:00
Michael R Sweet
41ac7a0b4b Changelog. 2025-01-18 09:45:29 -05:00
Michael R Sweet
026f653e07 Fix loading of last 1024 bytes for small PDF files (Issue #87) 2025-01-17 16:58:33 -05:00
Michael R Sweet
3bc041e6d3 Delay loading of the Info object and clean up the pdfioinfo example (Issue #87) 2025-01-17 16:50:30 -05:00
Michael R Sweet
fbd61d1fe9 Bump copyright and version, changelog for example makefile fix. 2025-01-10 14:54:11 -05:00
Michael R Sweet
b872df5a1e Fix validation of date/time values (Issue #83) 2024-12-19 15:41:43 -05:00
Michael R Sweet
d3d6683041 Add support for measuring base fonts (Issue #84)
Update md2pdf example code to support using embedded TrueType or PDF base
fonts.
2024-12-13 17:39:16 -05:00
Michael R Sweet
2ecb9cfb2d Changelog. 2024-12-08 19:19:13 -05:00
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