111 Commits

Author SHA1 Message Date
Michael R Sweet
1116e929f7
Add pdfioFileGet/SetLanguage functions (Issue #124) 2025-04-13 20:21:23 -04:00
Michael R Sweet
81aeef46d2
Add XMP metadata to output (Issue #103) 2025-04-13 16:56:30 -04:00
Michael R Sweet
ec64af8b20
Add pdfioFileAddOutputIntent API (Issue #104) 2025-04-13 14:16:53 -04:00
Michael R Sweet
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
Michael R Sweet
3ae95f1545
Fix decryption of UTF-16 strings (Issue #42) 2025-04-13 09:04:00 -04:00
Michael R Sweet
cfdd6f55d9
Fix decryption of RC4-40 files. 2025-04-13 08:36:58 -04:00
Michael R Sweet
06f38edcc7
Add pdfioFileCreateFontObjFromData function (Issue #120) 2025-04-12 16:25:34 -04:00
Michael R Sweet
76c1cc694f
Bump version for start of 1.6.x development. 2025-04-12 15:52:28 -04:00
Michael R Sweet
4219b8fd77
Update release date. 2025-04-12 15:12:07 -04:00
Michael R Sweet
755efe08da
Range check dictionary values in pdfioImageGetBytesPerLine (Issue #121) 2025-04-12 14:33:13 -04:00
Michael R Sweet
49efd97cab
Discard duplication key/value pairs in dictionaries with a warning message (Issue #118) 2025-04-07 08:58:18 -04:00
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