Commit Graph

116 Commits

Author SHA1 Message Date
07ea310cd1 Fix copy_jpeg with invalid/corrupt JPEG data (Issue #132) 2025-07-28 19:03:16 +01:00
7ce8ec07ab Limit generation numbers to 0 to 65535. 2025-07-28 12:51:39 +01:00
f9ff913bb9 Changelog. 2025-05-03 10:14:07 -04:00
57a01a7317 Fix object map to use unique file hash instead of pointer values (Issue #125) 2025-04-24 14:00:24 -04:00
1e6bb710e3 Changelog. 2025-04-23 10:13:35 -04:00
1116e929f7 Add pdfioFileGet/SetLanguage functions (Issue #124) 2025-04-13 20:21:23 -04:00
81aeef46d2 Add XMP metadata to output (Issue #103) 2025-04-13 16:56:30 -04:00
ec64af8b20 Add pdfioFileAddOutputIntent API (Issue #104) 2025-04-13 14:16:53 -04:00
acd68df592 Start work on OutputIntent and better color support in PDFio:
- Add CGATS001-compatible "micro" ICC profile as a standard CMYK color space
  (this is the default used by several Adobe applications)
- Add `PDFIO_CS_CGATS001` color space enum.
- Extend `pdfioArrayCreateColorFromStandard` to support CMYK.
- Extend `pdfioFileCreateImageObjFromFile` to support CMYK JPEG files.
- Update `pdfioFileCreatePage` to add default grayscale, RGB, and CMYK color
  space resources as needed.
2025-04-13 13:31:19 -04:00
3ae95f1545 Fix decryption of UTF-16 strings (Issue #42) 2025-04-13 09:04:00 -04:00
cfdd6f55d9 Fix decryption of RC4-40 files. 2025-04-13 08:36:58 -04:00
06f38edcc7 Add pdfioFileCreateFontObjFromData function (Issue #120) 2025-04-12 16:25:34 -04:00
76c1cc694f Bump version for start of 1.6.x development. 2025-04-12 15:52:28 -04:00
4219b8fd77 Update release date. 2025-04-12 15:12:07 -04:00
755efe08da Range check dictionary values in pdfioImageGetBytesPerLine (Issue #121) 2025-04-12 14:33:13 -04:00
49efd97cab Discard duplication key/value pairs in dictionaries with a warning message (Issue #118) 2025-04-07 08:58:18 -04:00
130cef8702 Update pdfioinfo example to support Acrobat Form dictionaries as well as indirect references (Issue #114) 2025-04-04 21:24:42 -04:00
fe755eac3d Add PDFIO_MAX_STRING constant to control maximum allowed PDF strings (Issue #117) 2025-04-04 19:27:03 -04:00
8cca645835 Update date/time parsing (Issue #115) 2025-04-04 19:12:16 -04:00
2874022aa4 Allow empty name tokens (Issue #116) 2025-04-04 18:26:35 -04:00
3b2f7e21d9 Prep for 1.5.1 release. 2025-03-28 14:39:59 -04:00
88839ccb56 Fix UTF-16 LE support (Issue #112) 2025-03-28 14:28:43 -04:00
ebd5aab39b Fix handling of 0-length streams (Issue #111) 2025-03-27 12:44:42 -04:00
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
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
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
7e56d26ff8 Prep for release. 2025-03-06 14:41:34 -05:00
e9debcd169 Add some more range checking to the cmap code. 2025-03-06 14:16:38 -05:00
2f925ccd3c Update documentation and pdf2text example (Issue #95) 2025-03-06 12:40:19 -05:00
89c2a75376 Fix a potential heap overflow in the TrueType cmap code. 2025-02-24 10:55:28 -05:00
f09105dd3f Add support for writing the PCLm subset of PDF (Issue #99) 2025-02-20 18:18:53 -05:00
aeee24b856 Add xref stream support (Issue #10) 2025-02-15 21:54:16 -05:00
8d72f22efe Add support for 'repairing' damaged PDF files (Issue #45) 2025-02-15 17:26:23 -05:00
afa010cea2 Add ICC color profile support for JPEG files (Issue #7) 2025-02-14 13:22:30 -05:00
5f98c7838c Rename pdfioFileGetModDate to pdfioFileGetModificationDate.
Add pdfioFileSetModificationDate API.

Update DLL exports file.

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