Skip to content

Commit

Permalink
Allow "compound" filters that consist of a single named filter (Issue #…
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelrsweet committed Oct 10, 2023
1 parent 7e3db6b commit 2e91e05
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ v1.1.2 (TBD)
- Fixed an issue with PDF files produced by Crystal Reports (Issue #45)
- Fixed an issue with PDF files produced by Microsoft Reporting Services
(Issue #46)
- Fixed support for compound filters where the filter array consists of a
single named filter (Issue #47)
- Fixed builds on Windows - needed windows.h header for temporary files
(Issue #48)


v1.1.1 (March 20, 2023)
Expand Down
9 changes: 8 additions & 1 deletion pdfio-stream.c
Original file line number Diff line number Diff line change
Expand Up @@ -464,11 +464,18 @@ _pdfioStreamOpen(pdfio_obj_t *obj, // I - Object
// Try to decode/decompress the contents of this object...
const char *filter = pdfioDictGetName(dict, "Filter");
// Filter value
pdfio_array_t *fa; // Filter array

if (!filter && (fa = pdfioDictGetArray(dict, "Filter")) != NULL && pdfioArrayGetSize(fa) == 1)
{
// Support single-valued arrays...
filter = pdfioArrayGetName(fa, 0);
}

if (!filter)
{
// No single filter name, do we have a compound filter?
if (pdfioDictGetArray(dict, "Filter"))
if (fa)
{
// TODO: Implement compound filters...
_pdfioFileError(st->pdf, "Unsupported compound stream filter.");
Expand Down

0 comments on commit 2e91e05

Please sign in to comment.