Michael R Sweet
c272ddde3b
Remove deprecated information key/value pairs for PDF 2.0 output.
2025-10-05 15:34:34 -04:00
Michael R Sweet
26a92febc6
Cleanup PR for PDF/A support and add documentation (Issue #122 )
2025-10-05 15:19:15 -04:00
vididvidid
815a45aec1
remove the return and used %c for the part
2025-10-03 02:42:19 +00:00
vididvidid
2b68a0e0db
used the cp startegy of string and pointer combination to get the part and comliance
2025-10-02 05:50:06 +00:00
vididvidid
1325c9cd61
removed the comment i made in the code
2025-10-01 07:40:14 +00:00
vididvidid
7bc3e84aed
added string replacing the switch cases
2025-10-01 05:05:15 +00:00
vididvidid
0194feca6f
moved the comment outside of nested if for standard header
2025-10-01 04:52:16 +00:00
vididvidid
219a288488
renamed actual_version to file_version
2025-10-01 04:43:51 +00:00
vididvidid
2b4b20efe4
removed the numering in comments
2025-10-01 04:40:16 +00:00
vididvidid
b1550fdc10
corrected the issue regarding the headers in the pdfa files
2025-09-30 07:09:56 +00:00
vididvidid
0d1d5413ee
pdf/a files must contains special xmp metadata that declares their conformance. so updated the write_metadata
2025-09-30 04:52:25 +00:00
vididvidid
f7db310942
added the enum for the conformance levels in the pdfio-private.h under _pdfio_file_s and updated the create_common() function which is used by pdfiofilecreate to recognize the new pdf/a-.. strings
2025-09-30 04:38:35 +00:00
Michael R Sweet
fe122d557b
Resolve clang warnings, update Xcode project.
2025-09-25 17:12:33 -04:00
ThePhatak
604396c0e7
Correct PDF trailer: output %%EOF instead of %EOF
2025-09-13 19:25:39 +05:30
Michael R Sweet
156a184a45
Fix some Clang warnings.
2025-09-04 14:37:42 -04:00
Michael R Sweet
ccf3a90c97
Document how warning messages work (Issue #118 )
2025-08-26 15:18:36 -04:00
Michael R Sweet
57a01a7317
Fix object map to use unique file hash instead of pointer values (Issue #125 )
2025-04-24 14:00:24 -04:00
Michael R Sweet
cad8f450ab
Multiple fixes to allow PDFio to read more edge-case PDFs.
...
- Update _pdfioFileGets to allow for really long lines where it
doesn't matter if we lose the end of the line.
- Update "startxref" detection at the end of the file.
- Refactor repair logic so that you just get a single WARNING about
the repair (debug messages available for testing)
- Allow whitespace after the "obj" in the object header.
- Make sure to close xref stream on error.
- Update predictor code to support Colors <= 32 (some implementations
set Colors to the number of bytes per record in the xref stream,
which prevents the predictor from doing anything...)
- Allow CR CR in xref table.
- Clear old trailer/root/pages/etc. objects when repairing, update
existing objects that were already found in load_xref.
- Don't set current object in pdfioObjectCreate/OpenStream if the
stream can't be created/opened.
2025-04-24 11:09:54 -04:00
Michael R Sweet
278ddb7fa7
Clarify error callback API, and actually use the return value.
...
Improve repair implementation.
2025-04-23 14:43:14 -04:00
Michael R Sweet
4ca93bd34f
Add support for EncryptMetadata key in encryption dictionary.
2025-04-23 10:07:44 -04:00
Michael R Sweet
078985fc20
Try to eliminate more Windows build warnings.
2025-04-18 17:58:06 -04:00
Michael R Sweet
1116e929f7
Add pdfioFileGet/SetLanguage functions (Issue #124 )
2025-04-13 20:21:23 -04:00
Michael R Sweet
c75611e274
Update documentation.
2025-04-13 17:15:53 -04:00
Michael R Sweet
81aeef46d2
Add XMP metadata to output (Issue #103 )
2025-04-13 16:56:30 -04:00
Michael R Sweet
ba7371b2e1
Fix location of OutputIntents (catalog, not info dict)
2025-04-13 14:31:14 -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
0391df5bbd
Add logging of when we are repairing the xref table.
2025-04-07 09:01:41 -04:00
Michael R Sweet
0bd9edc845
Move token buffers off the stack (Issue #117 )
2025-04-04 21:20:23 -04:00
Michael R Sweet
1237599dea
Clean up some compiler warnings.
2025-02-22 19:48:09 -05:00
Michael R Sweet
e996898b57
Back out object stream changes, as they would require much more significant
...
reworking of the "write value" private API that I don't want to do right now.
2025-02-21 16:57:01 -05:00
Michael R Sweet
aa6a20c042
Lay the groundwork for object streams.
2025-02-21 15:33:27 -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
44827bac1a
Cleanup.
2025-02-16 12:40:39 -05:00
Michael R Sweet
3fad0d6f15
Support xref streams with encrypted output.
2025-02-16 12:35:45 -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
5f98c7838c
Rename pdfioFileGetModDate to pdfioFileGetModificationDate.
...
Add pdfioFileSetModificationDate API.
Update DLL exports file.
Update docos and changelog.
2025-02-13 18:56:43 -05:00
Thierry LARONDE
d032483ed4
Merge branch 'michaelrsweet:master' into info
2025-02-12 15:54:47 +01:00
Michael R Sweet
9e2f3aba10
Fix reading of compressed object streams (Issue #92 )
2025-01-23 15:27:22 -05:00
Thierry LARONDE
8b2b013b36
Extend by adding pdfioGetModDate and extend the pdfioinfo example
...
When exploring a PDF, it may be convenient to have the typical
informations delivered by some "Document Properties"---and some more
about the MediaBox(es).
So just add the function to get the ModDate and extend the
pdfioinfo example as an example of what the library do have
and pdfioinfo as a debugging tool also.
Signed-off-by: Thierry LARONDE <tlaronde@kergis.com >
2025-01-18 11:25:36 +01: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
d705d7eb5d
Fix reading PDF files whose trailer is missing a newline (Issue #80 )
2024-12-08 19:14:58 -05:00
Sergey Vlasov
4312933409
pdfioFileCreateNameObj implemented
2024-09-25 18:40:36 +03:00
Michael R Sweet
206f75403a
Add debug printfs.
2024-08-26 09:19:34 -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
a81907bdb9
Refactor get_info_string to rely on pdfioDictGetString to convert binary strings to regular ones.
2024-06-24 11:49:38 -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
b117959725
Make sure all output code paths set the locale information (Issue #61 )
2024-01-27 19:23:51 -05:00
Michael R Sweet
e882622233
Fix locale support (Issue #61 )
2024-01-27 18:22:16 -05:00