Hi,

There are also other "load" functions like LoadFromBuffer and
LoadFromDevice. Why are these not covered?

On Thu, Feb 13, 2020 at 6:08 PM John Senneker <john.senne...@arup.com>
wrote:

> Hello,
>
> The patch I sent you had a merge mistake, which caused the new
> bIgnoreBrokenObjects parameter not to be passed to the parser from
> PdfMemDocument in one of the variants of PdfMemDocument::Load(). The
> updated patch attached to this email has fixed this error.
>
> --
>
> John Senneker
>
>
>
> *From:* John Senneker
> *Sent:* Monday, February 3, 2020 2:50 PM
> *To:* podofo-users@lists.sourceforge.net
> *Subject:* Patch for ignoring broken objects
>
>
>
> Hi,
>
> I submitted this patch a while ago, but didn’t get a response. In case it
> slipped through the cracks, I’ve pasted the text of the email below, and
> re-attached the patch file.
>
>
>
> An issue I’ve run into is full failure of parsing when objects are
> referred to that don’t exist. Often this is due to XRef stream entries that
> point to non-existent object streams or non-existent indices within those
> streams. This should be a recoverable error.
>
>
>
> There’s a bool member `m_bIgnoreBrokenObjects` in `PdfParser`, and that
> member is exposed through `SetIgnoreBrokenObjects()`, but it’s set to false
> in `Init()`, which is called by `Clear()`, which is called at the top of
> `ParseFile()`, so user-defined values are overwritten. Following the
> pattern used for the `m_bLoadOnDemand` flag, I’ve modified the
> `ParseFile()` functions to allow the user to pass in an optional
> `bIgnoreBrokenObjects` parameter (default false) to get around this issue.
> I’ve attached a patch to show what this looks like, and which also allows
> passing the `bIgnoreBrokenObjects` flag to `PdfMemDocument` constructors
> and `Load()` functions. It also checks the flag when reading objects from a
> stream.
>
>
>
> Is this the right way to go about this, or is there a better way to allow
> graceful failure and continuation of parsing?
>
> --
>
> John Senneker
>  ____________________________________________________________
> Electronic mail messages entering and leaving Arup business systems are
> scanned for viruses and acceptability of content.
> _______________________________________________
> Podofo-users mailing list
> Podofo-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/podofo-users
>
_______________________________________________
Podofo-users mailing list
Podofo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/podofo-users

Reply via email to