Logo Search packages:      
Sourcecode: libpodofo version File versions  Download package

void PoDoFo::PdfParser::ReadXRefStreamContents ( pdf_long  lOffset,
bool  bReadOnlyTrailer 
) [protected]

Reads a xref stream contens object

Parameters:
lOffsetread the stream from this offset
bReadOnlyTraileronly the trailer is skipped over, the contents of the xref stream are not parsed

Definition at line 742 of file PdfParser.cpp.

References PoDoFo::PdfRefCountedInputDevice::Device(), PoDoFo::PdfXRefStreamParserObject::GetPreviousOffset(), PoDoFo::PdfXRefStreamParserObject::HasPrevious(), MergeTrailer(), and PoDoFo::PdfInputDevice::Seek().

Referenced by ReadXRefContents().

{
    m_device.Device()->Seek( lOffset );

    PdfXRefStreamParserObject xrefObject( m_vecObjects, m_device, m_buffer, &m_offsets );
    xrefObject.Parse();

    if( !m_pTrailer )
        m_pTrailer = new PdfParserObject( m_vecObjects, m_device, m_buffer );

    MergeTrailer( &xrefObject );

    if( bReadOnlyTrailer )
        return;

    xrefObject.ReadXRefTable();

    // Check for a previous XRef stream
    if(xrefObject.HasPrevious()) 
    {
        m_nIncrementalUpdates++;
        this->ReadXRefStreamContents( xrefObject.GetPreviousOffset(), bReadOnlyTrailer );
    }
}

Here is the call graph for this function:

Here is the caller graph for this function:


Generated by  Doxygen 1.6.0   Back to index