Commit Graph

53 Commits

Author SHA1 Message Date
Michael R Sweet
c24243a2bc
Refactor crypto callback to have separate input/output pointers. Add initial writing support. 2021-10-12 09:13:30 -04:00
Michael R Sweet
43239eaf8a
Add placeholder password callback to support reading of encrypted PDF files in the future. 2021-09-27 08:37:14 -04:00
Michael R Sweet
d6746c08a4
Add pdfioFileCreateOutput API (Issue #21) 2021-09-27 07:41:50 -04:00
Michael R Sweet
6f726602c6
Clean up object stream support. 2021-08-29 18:35:23 -04:00
Michael R Sweet
525279eff0
Don't show function name, just filename. 2021-08-26 14:00:40 -04:00
Michael R Sweet
3f2de9c46a
Update test program to process all files on the command-line, add a --help and
--verbose option, and return the results of the unit tests.
2021-08-23 14:40:15 -04:00
Michael R Sweet
543364dfa2
More efficiently implement reading of integers vs. indirect references.
"testpdfio filename.pdf objnum" now shows object value if there is no stream.

Clean up debugging printfs.
2021-08-23 14:31:54 -04:00
Michael R Sweet
e71c1a7e5e Don't export color constants since that breaks with DLLs... (Issue #19) 2021-08-18 10:17:47 -04:00
Michael R Sweet
21823fb0d9 Add testpdfio target for MSVC. 2021-07-26 11:58:20 -04:00
Michael R Sweet
2cc4789cf6
Fix image writing issues for pdfioFileCreateImageObjFromData (Issue #15) 2021-07-18 09:50:22 -04:00
Michael R Sweet
3e0507ba6c
Rework pdfioFileCreateImageObjFromData to have a separate alpha argument so
that CMYK images can be supported.

Add unit tests.
2021-07-18 09:23:39 -04:00
Michael R Sweet
43b5e03c71
Add unit tests for accessors (Issue #9) 2021-07-06 20:51:21 -04:00
Michael R Sweet
4f6a7ab03f
Debug output. 2021-06-29 20:39:31 -04:00
Michael R Sweet
90c7591190
Save work. 2021-06-24 09:07:03 -04:00
Michael R Sweet
10c8d222cf
Test both CP1252 and Unicode font rendering.
Add cached CP1252 and Unicode font encoding objects.

Clean up CP1252 ("simple") TrueType font embedding.
2021-06-23 21:26:01 -04:00
Michael R Sweet
060e7cdbd5
Fiddle with Unicode support some more. 2021-06-22 17:10:19 -04:00
Michael R Sweet
01ca711ec8
Add decode testing to testpdfio 2021-06-21 16:03:05 -04:00
Michael R Sweet
e9d5e082af
Save work on Unicode font support - still something isn't quite right. 2021-06-21 07:58:23 -04:00
Michael R Sweet
d1f199c7ae
Hard wrap text in README.md 2021-06-11 11:33:41 -04:00
Michael R Sweet
bca0add5d8
Very early TrueType support. 2021-06-11 11:22:08 -04:00
Michael R Sweet
42e7183eb0
Normalize test pages and add function to draw standard header and footer content. 2021-06-11 10:36:32 -04:00
Michael R Sweet
0aea9c5439
Rename some of the content APIs for consistency. 2021-06-10 19:41:39 -04:00
Michael R Sweet
5533408c09
ICC profile support (Issue #3) 2021-06-10 12:40:06 -04:00
Michael R Sweet
534da32343
Update PNG test images, particularly to add transparency to the indexed image.
Add demonstration of transparency backing for indexed image to test suite.
2021-06-10 11:18:51 -04:00
Michael R Sweet
466cb473d1
Fix _pdfioFileRead/Seek to fix test suite-reported error loading an object. 2021-06-10 10:58:07 -04:00
Michael R Sweet
a698b9c1a2
API cleanup, more work on documentation. 2021-06-07 08:34:30 -04:00
Michael R Sweet
c158587070
Fix issues with grayscale PNG images.
Update PNG test page content.
2021-06-06 00:27:33 -04:00
Michael R Sweet
1ea2b7514a
Rework the color space support.
Start work on PNG file reader.
2021-06-05 11:28:32 -04:00
Michael R Sweet
3a133bd1c0
Fix one more resource leak found by Coverity. 2021-06-04 11:09:34 -04:00
Michael R Sweet
07b9ce80bb
Fix one more resource leak found by Coverity. 2021-06-04 11:07:27 -04:00
Michael R Sweet
ee5fcc2a4a
Fix Coverity-discovered issues. 2021-06-04 10:56:23 -04:00
Michael R Sweet
3ec771e688
Add read-back tests. 2021-06-02 15:46:39 -04:00
Michael R Sweet
2856b440d1
Add PNG predictor test page (yes, we have problems) 2021-06-01 17:10:36 -04:00
Michael R Sweet
cc250e7201
Fix more of the text output code (paren handling).
Update unit tests to write lines from README.md.
2021-05-31 21:34:53 -04:00
Michael R Sweet
05df5919cd
Save work on text tests. 2021-05-31 20:51:37 -04:00
Michael R Sweet
82e62ae852
Basic text support. 2021-05-31 19:41:02 -04:00
Michael R Sweet
c4e0421f62
Implement calibrated color support, including constants for a few standard
color spaces and a new color patch test page.

The grayscale test image from CUPS wasn't actually grayscale.
2021-05-31 09:31:00 -04:00
Michael R Sweet
246c2e4b41
Rename as PDFio for consistency.
Add PDFio logo image.

Move documentation to "doc" subdirectory.
2021-05-30 07:10:44 -04:00
Michael R Sweet
a18b8fd606
Switch to using double for numbers, since they are also used to record lengths
and other potentially large contents.
2021-05-29 21:16:21 -04:00
Michael R Sweet
35d22705fa
Implement pdfioObjCopy and pdfioPageCopy, with tests. 2021-05-29 20:00:48 -04:00
Michael R Sweet
94cb915885
Fix xref table - wrong total number of objects.
Update pdfioContentDrawImage to take x/y offsets and sizes.
2021-05-28 22:05:44 -04:00
Michael R Sweet
fb853dadda
Fix some issues with the core file writing code.
Add test images to the unit tests.
2021-05-28 10:41:21 -04:00
Michael R Sweet
9cf024c1ce
Move test PDF file to new testfiles subdirectory.
Ignore generated PDF files from unit test program.
2021-05-28 09:31:42 -04:00
Michael R Sweet
45899f8a8d
Default CropBox should be the full MediaBox. 2021-05-16 18:31:45 -04:00
Michael R Sweet
35ea209c73
Initial unit tests for writing a PDF file. 2021-05-16 12:36:44 -04:00
Michael R Sweet
cfb5ca0ddc
Rework error/debug output. 2021-05-10 08:40:52 -04:00
Michael R Sweet
67ed214c59
Restructure unit test program to include unit tests and alternate error handling.
Don't log all strings after adding one.

Don't trim string buffer after reading a token.
2021-05-10 08:00:27 -04:00
Michael R Sweet
af8c731699
Update token reader to handle balanced parens and to allow arbitrary backslash escapes.
Update unit test to omit path information from filename.
2021-05-09 21:32:09 -04:00
Michael R Sweet
5f43761537
Initial support for reading pages dictionary. 2021-05-08 22:50:18 -04:00
Michael R Sweet
c0b18a7e4f
Fix pdfioStringCreate - was returning a char ** instead of a char *, causing
crashes/corruption.

Optimize dict allocation/sorting.

Add more values that are displayed by the testpdfio unit test program.
2021-05-05 13:51:42 -04:00