LibreOffice Module vcl (master) 1
|
In-memory representation of an on-disk PDF document. More...
#include <pdfdocument.hxx>
Public Member Functions | |
PDFDocument () | |
virtual | ~PDFDocument () |
PDFDocument & | operator= (const PDFDocument &)=delete |
PDFDocument (const PDFDocument &)=delete | |
High-level functions, to be used by others. | |
bool | Read (SvStream &rStream) |
Read elements from the start of the stream till its end. More... | |
bool | ReadWithPossibleFixup (SvStream &rStream) |
Calls Read() first and if it fails it tries to fixup and then retry. More... | |
void | SetSignatureLine (std::vector< sal_Int8 > &&rSignatureLine) |
void | SetSignaturePage (size_t nPage) |
bool | Sign (const css::uno::Reference< css::security::XCertificate > &xCertificate, const OUString &rDescription, bool bAdES) |
Sign the read document with xCertificate in the edit buffer. More... | |
bool | Write (SvStream &rStream) |
Serializes the contents of the edit buffer. More... | |
std::vector< PDFObjectElement * > | GetSignatureWidgets () |
Get a list of signatures embedded into this document. More... | |
bool | RemoveSignature (size_t nPosition) |
Remove the nth signature from read document in the edit buffer. More... | |
sal_Int32 | createObject () override |
See vcl::PDFObjectContainer::createObject(). More... | |
bool | updateObject (sal_Int32 n) override |
See vcl::PDFObjectContainer::updateObject(). More... | |
bool | writeBufferBytes (const void *pBuffer, sal_uInt64 nBytes) override |
See vcl::PDFObjectContainer::writeBuffer(). More... | |
void | checkAndEnableStreamEncryption (sal_Int32) override |
void | disableStreamEncryption () override |
Public Member Functions inherited from vcl::PDFObjectContainer | |
virtual sal_Int32 | createObject ()=0 |
virtual bool | updateObject (sal_Int32 n)=0 |
virtual bool | writeBufferBytes (const void *pBuffer, sal_uInt64 nBytes)=0 |
bool | writeBuffer (std::string_view aBuffer) |
virtual void | checkAndEnableStreamEncryption (sal_Int32 nObject)=0 |
virtual void | disableStreamEncryption ()=0 |
Private Member Functions | |
sal_uInt32 | GetNextSignature () |
Suggest a minimal, yet free signature ID to use for the next signature. More... | |
sal_Int32 | WriteSignatureObject (const OUString &rDescription, bool bAdES, sal_uInt64 &rLastByteRangeOffset, sal_Int64 &rContentOffset) |
Write the signature object as part of signing. More... | |
sal_Int32 | WriteAppearanceObject (tools::Rectangle &rSignatureRectangle) |
Write the appearance object as part of signing. More... | |
sal_Int32 | WriteAnnotObject (PDFObjectElement const &rFirstPage, sal_Int32 nSignatureId, sal_Int32 nAppearanceId, const tools::Rectangle &rSignatureRectangle) |
Write the annot object as part of signing. More... | |
bool | WritePageObject (PDFObjectElement &rFirstPage, sal_Int32 nAnnotId) |
Write the updated Page object as part of signing. More... | |
bool | WriteCatalogObject (sal_Int32 nAnnotId, PDFReferenceElement *&pRoot) |
Write the updated Catalog object as part of signing. More... | |
void | WriteXRef (sal_uInt64 nXRefOffset, PDFReferenceElement const *pRoot) |
Write the updated cross-references as part of signing. More... | |
Private Attributes | |
std::vector< std::unique_ptr< PDFElement > > | m_aElements |
This vector owns all elements. More... | |
std::map< size_t, XRefEntry > | m_aXRef |
Object ID <-> object offset map. More... | |
std::map< size_t, PDFObjectElement * > | m_aOffsetObjects |
Object offset <-> Object pointer map. More... | |
std::map< size_t, PDFObjectElement * > | m_aIDObjects |
Object ID <-> Object pointer map. More... | |
std::vector< size_t > | m_aStartXRefs |
List of xref offsets we know. More... | |
std::vector< size_t > | m_aTrailerOffsets |
Offsets of trailers, from latest to oldest. More... | |
std::map< size_t, PDFTrailerElement * > | m_aOffsetTrailers |
Trailer offset <-> Trailer pointer map. More... | |
std::vector< size_t > | m_aEOFs |
List of EOF offsets we know. More... | |
PDFTrailerElement * | m_pTrailer = nullptr |
PDFObjectElement * | m_pXRefStream = nullptr |
When m_pTrailer is nullptr, this can still have a dictionary. More... | |
SvMemoryStream | m_aEditBuffer |
All editing takes place in this buffer, if it happens. More... | |
std::vector< sal_Int8 > | m_aSignatureLine |
Signature line in PDF format, to be consumed by the next Sign() invocation. More... | |
size_t | m_nSignaturePage = 0 |
0-based page number where m_aSignatureLine should be placed. More... | |
Low-level functions, to be used by PDFElement subclasses. | |
void | ReadXRef (SvStream &rStream) |
void | ReadXRefStream (SvStream &rStream) |
size_t | GetObjectOffset (size_t nIndex) const |
const std::vector< std::unique_ptr< PDFElement > > & | GetElements () const |
std::vector< PDFObjectElement * > | GetPages () |
PDFObjectElement * | GetCatalog () |
void | PushBackEOF (size_t nOffset) |
Remember the end location of an EOF token. More... | |
PDFObjectElement * | LookupObject (size_t nObjectNumber) |
Look up object based on object number, possibly by parsing object streams. More... | |
SvMemoryStream & | GetEditBuffer () |
Access to the input document, even after the input stream is gone. More... | |
bool | Tokenize (SvStream &rStream, TokenizeMode eMode, std::vector< std::unique_ptr< PDFElement > > &rElements, PDFObjectElement *pObjectElement) |
Tokenize elements from current offset. More... | |
void | SetIDObject (size_t nID, PDFObjectElement *pObject) |
Register an object (owned directly or indirectly by m_aElements) as a provider for a given ID. More... | |
static std::vector< unsigned char > | DecodeHexString (PDFHexStringElement const *pElement) |
Decode a hex dump. More... | |
static OUString | DecodeHexStringUTF16BE (PDFHexStringElement const &rElement) |
static OString | ReadKeyword (SvStream &rStream) |
static size_t | FindStartXRef (SvStream &rStream) |
static void | SkipWhitespace (SvStream &rStream) |
static void | SkipLineBreaks (SvStream &rStream) |
Instead of all whitespace, just skip CR and NL characters. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from vcl::PDFObjectContainer | |
~PDFObjectContainer () noexcept=default | |
In-memory representation of an on-disk PDF document.
The PDF element list is not meant to be saved back to disk, but some elements remember their source offset / length, and based on that it's possible to modify the input file.
Definition at line 492 of file pdfdocument.hxx.
|
default |
|
virtualdefault |
|
delete |
References DecodeHexString(), Read, Sign, and Write.
|
inlineoverridevirtual |
Implements vcl::PDFObjectContainer.
Definition at line 600 of file pdfdocument.hxx.
|
overridevirtual |
See vcl::PDFObjectContainer::createObject().
Implements vcl::PDFObjectContainer.
Definition at line 70 of file pdfdocument.cxx.
References m_aXRef.
|
static |
Decode a hex dump.
Definition at line 2077 of file pdfdocument.cxx.
References svl::crypto::DecodeHexString(), and vcl::filter::PDFHexStringElement::GetValue().
Referenced by DecodeHexStringUTF16BE().
|
static |
Definition at line 2082 of file pdfdocument.cxx.
References DecodeHexString(), and i.
|
inlineoverridevirtual |
Implements vcl::PDFObjectContainer.
Definition at line 601 of file pdfdocument.hxx.
|
static |
Definition at line 1455 of file pdfdocument.cxx.
References aBuf, SvStream::eof(), vcl::filter::PDFNumberElement::GetValue(), vcl::filter::PDFNumberElement::Read(), SvStream::ReadBytes(), SAL_WARN, SvStream::Seek(), SvStream::SeekRel(), SkipWhitespace(), STREAM_SEEK_TO_END, and SvStream::Tell().
Referenced by Read().
PDFObjectElement * vcl::filter::PDFDocument::GetCatalog | ( | ) |
Definition at line 1972 of file pdfdocument.cxx.
References vcl::filter::PDFObjectElement::Lookup(), vcl::filter::PDFTrailerElement::Lookup(), vcl::filter::PDFReferenceElement::LookupObject(), m_aOffsetTrailers, m_aTrailerOffsets, m_pXRefStream, and SAL_WARN.
Referenced by GetPages().
SvMemoryStream & vcl::filter::PDFDocument::GetEditBuffer | ( | ) |
Access to the input document, even after the input stream is gone.
Definition at line 2740 of file pdfdocument.cxx.
References m_aEditBuffer.
Referenced by vcl::PDFObjectCopier::copyExternalResources(), vcl::filter::PDFObjectElement::ParseStoredObjects(), and vcl::PDFWriterImpl::writeReferenceXObject().
const std::vector< std::unique_ptr< PDFElement > > & vcl::filter::PDFDocument::GetElements | ( | ) | const |
Definition at line 1907 of file pdfdocument.cxx.
References m_aElements.
Referenced by vcl::filter::PDFTrailerElement::Lookup(), and vcl::filter::PDFObjectElement::parseIfNecessary().
|
private |
Suggest a minimal, yet free signature ID to use for the next signature.
Definition at line 105 of file pdfdocument.cxx.
References GetSignatureWidgets(), vcl::filter::PDFLiteralStringElement::GetValue(), and o3tl::toUInt32().
Referenced by WriteAnnotObject().
size_t vcl::filter::PDFDocument::GetObjectOffset | ( | size_t | nIndex | ) | const |
Definition at line 1894 of file pdfdocument.cxx.
References vcl::filter::COMPRESSED, m_aXRef, nIndex, and SAL_WARN.
Referenced by vcl::filter::PDFReferenceElement::LookupNumber().
std::vector< PDFObjectElement * > vcl::filter::PDFDocument::GetPages | ( | ) |
Definition at line 2000 of file pdfdocument.cxx.
References GetCatalog(), vcl::filter::PDFObjectElement::GetObjectValue(), vcl::filter::PDFObjectElement::LookupObject(), SAL_WARN, and vcl::filter::visitPages().
Referenced by GetSignatureWidgets(), Sign(), and WriteAppearanceObject().
std::vector< PDFObjectElement * > vcl::filter::PDFDocument::GetSignatureWidgets | ( | ) |
Get a list of signatures embedded into this document.
Definition at line 2026 of file pdfdocument.cxx.
References GetPages(), vcl::filter::PDFObjectElement::Lookup(), and vcl::filter::PDFObjectElement::LookupObject().
Referenced by GetNextSignature(), and RemoveSignature().
PDFObjectElement * vcl::filter::PDFDocument::LookupObject | ( | size_t | nObjectNumber | ) |
Look up object based on object number, possibly by parsing object streams.
Definition at line 2729 of file pdfdocument.cxx.
References m_aIDObjects, and SAL_WARN.
Referenced by vcl::filter::PDFReferenceElement::LookupObject().
|
delete |
void vcl::filter::PDFDocument::PushBackEOF | ( | size_t | nOffset | ) |
Remember the end location of an EOF token.
Definition at line 2024 of file pdfdocument.cxx.
References m_aEOFs.
Referenced by vcl::filter::PDFCommentElement::Read().
bool vcl::filter::PDFDocument::Read | ( | SvStream & | rStream | ) |
Read elements from the start of the stream till its end.
Definition at line 1359 of file pdfdocument.cxx.
References vcl::filter::END_OF_STREAM, vcl::filter::EOF_TOKEN, FindStartXRef(), vcl::filter::PDFTrailerElement::GetLocation(), vcl::filter::PDFNumberElement::GetValue(), vcl::filter::PDFObjectElement::Lookup(), vcl::filter::PDFTrailerElement::Lookup(), m_aEditBuffer, m_aElements, m_aEOFs, m_aIDObjects, m_aOffsetObjects, m_aStartXRefs, m_aTrailerOffsets, m_pTrailer, m_pXRefStream, SvStream::ReadBytes(), ReadKeyword(), ReadXRef(), ReadXRefStream(), SAL_INFO, SAL_WARN, SvStream::Seek(), Tokenize(), and SvStream::WriteStream().
Referenced by ReadWithPossibleFixup(), and WriteAppearanceObject().
|
static |
Definition at line 1437 of file pdfdocument.cxx.
References aBuf, ch, SvStream::eof(), SvStream::ReadChar(), and SvStream::SeekRel().
Referenced by vcl::filter::PDFReferenceElement::LookupNumber(), Read(), ReadXRef(), and Tokenize().
bool vcl::filter::PDFDocument::ReadWithPossibleFixup | ( | SvStream & | rStream | ) |
Calls Read() first and if it fails it tries to fixup and then retry.
Definition at line 1347 of file pdfdocument.cxx.
References vcl::pdf::convertToHighestSupported(), Read(), and SvStream::Seek().
void vcl::filter::PDFDocument::ReadXRef | ( | SvStream & | rStream | ) |
Definition at line 1782 of file pdfdocument.cxx.
References vcl::filter::PDFNumberElement::GetValue(), m_aXRef, nIndex, vcl::filter::PDFNumberElement::Read(), ReadKeyword(), SAL_WARN, vcl::filter::XRefEntry::SetDirty(), vcl::filter::XRefEntry::SetOffset(), and SkipWhitespace().
Referenced by Read().
void vcl::filter::PDFDocument::ReadXRefStream | ( | SvStream & | rStream | ) |
Definition at line 1504 of file pdfdocument.cxx.
References aBuf, ZCodec::BeginCompression(), vcl::filter::COMPRESSED, ZCodec::Decompress(), vcl::filter::END_OF_OBJECT, ZCodec::EndCompression(), vcl::filter::FREE, vcl::filter::PDFStreamElement::GetOffset(), i, m_aElements, m_aXRef, m_pXRefStream, nIndex, nLength, vcl::filter::NOT_COMPRESSED, nPos, nType, pObject, pS, SvStream::ReadBytes(), SAL_WARN, SvStream::Seek(), vcl::filter::XRefEntry::SetOffset(), vcl::filter::XRefEntry::SetType(), and Tokenize().
Referenced by Read().
bool vcl::filter::PDFDocument::RemoveSignature | ( | size_t | nPosition | ) |
Remove the nth signature from read document in the edit buffer.
Definition at line 45 of file pdfdocument.cxx.
References GetSignatureWidgets(), SvStream::good(), m_aEditBuffer, m_aEOFs, SAL_WARN, SvStream::Seek(), SvStream::SetStreamSize(), and SvStream::Tell().
void vcl::filter::PDFDocument::SetIDObject | ( | size_t | nID, |
PDFObjectElement * | pObject | ||
) |
Register an object (owned directly or indirectly by m_aElements) as a provider for a given ID.
Definition at line 1342 of file pdfdocument.cxx.
References m_aIDObjects, and pObject.
Referenced by vcl::filter::PDFObjectElement::ParseStoredObjects().
void vcl::filter::PDFDocument::SetSignatureLine | ( | std::vector< sal_Int8 > && | rSignatureLine | ) |
Definition at line 98 of file pdfdocument.cxx.
References m_aSignatureLine.
void vcl::filter::PDFDocument::SetSignaturePage | ( | size_t | nPage | ) |
Definition at line 103 of file pdfdocument.cxx.
References m_nSignaturePage.
bool vcl::filter::PDFDocument::Sign | ( | const css::uno::Reference< css::security::XCertificate > & | xCertificate, |
const OUString & | rDescription, | ||
bool | bAdES | ||
) |
Sign the read document with xCertificate in the edit buffer.
Definition at line 857 of file pdfdocument.cxx.
References svl::crypto::Signing::AddDataRange(), GetPages(), m_aEditBuffer, m_nSignaturePage, MAX_SIGNATURE_CONTENT_LENGTH, SvStream::ReadBytes(), SAL_WARN, SvStream::Seek(), svl::crypto::Signing::Sign(), STREAM_SEEK_TO_END, SvStream::Tell(), WriteAnnotObject(), WriteAppearanceObject(), WriteCatalogObject(), SvStream::WriteNumberAsString(), SvStream::WriteOString(), WritePageObject(), WriteSignatureObject(), and WriteXRef().
|
static |
Instead of all whitespace, just skip CR and NL characters.
Definition at line 1876 of file pdfdocument.cxx.
References ch, SvStream::eof(), SvStream::ReadChar(), and SvStream::SeekRel().
Referenced by Tokenize().
|
static |
Definition at line 1858 of file pdfdocument.cxx.
References ch, SvStream::eof(), SvStream::ReadChar(), and SvStream::SeekRel().
Referenced by FindStartXRef(), vcl::filter::PDFReferenceElement::LookupNumber(), vcl::filter::PDFObjectElement::ParseStoredObjects(), and ReadXRef().
bool vcl::filter::PDFDocument::Tokenize | ( | SvStream & | rStream, |
TokenizeMode | eMode, | ||
std::vector< std::unique_ptr< PDFElement > > & | rElements, | ||
PDFObjectElement * | pObjectElement | ||
) |
Tokenize elements from current offset.
Definition at line 966 of file pdfdocument.cxx.
References ch, eMode, vcl::filter::END_OF_OBJECT, SvStream::eof(), vcl::filter::EOF_TOKEN, vcl::filter::PDFNameElement::GetValue(), m_aEOFs, m_aIDObjects, m_aOffsetObjects, m_aOffsetTrailers, m_aStartXRefs, m_pTrailer, m_pXRefStream, nElements, nIndex, nLength, vcl::filter::PDFObjectElement::ParseStoredObjects(), pObject, SvStream::ReadChar(), ReadKeyword(), SAL_WARN, SAL_WARN_IF, SvStream::SeekRel(), SkipLineBreaks(), and SvStream::Tell().
Referenced by vcl::filter::PDFObjectElement::ParseStoredObjects(), Read(), and ReadXRefStream().
|
overridevirtual |
See vcl::PDFObjectContainer::updateObject().
Implements vcl::PDFObjectContainer.
Definition at line 77 of file pdfdocument.cxx.
References m_aEditBuffer, m_aXRef, o3tl::make_unsigned(), SAL_WARN, vcl::filter::XRefEntry::SetDirty(), vcl::filter::XRefEntry::SetOffset(), and SvStream::Tell().
bool vcl::filter::PDFDocument::Write | ( | SvStream & | rStream | ) |
Serializes the contents of the edit buffer.
Definition at line 959 of file pdfdocument.cxx.
References SvStream::good(), m_aEditBuffer, SvStream::Seek(), and SvStream::WriteStream().
|
private |
Write the annot object as part of signing.
Definition at line 311 of file pdfdocument.cxx.
References GetNextSignature(), vcl::filter::PDFObjectElement::GetObjectValue(), tools::Rectangle::getOpenHeight(), tools::Rectangle::getOpenWidth(), m_aEditBuffer, m_aXRef, vcl::filter::XRefEntry::SetDirty(), vcl::filter::XRefEntry::SetOffset(), SvStream::Tell(), SvStream::WriteNumberAsString(), and SvStream::WriteOString().
Referenced by Sign().
|
private |
Write the appearance object as part of signing.
Definition at line 180 of file pdfdocument.cxx.
References aBuffer, vcl::PDFObjectCopier::copyPageResources(), vcl::PDFObjectCopier::copyPageStreams(), tools::Rectangle::getOpenHeight(), tools::Rectangle::getOpenWidth(), GetPages(), vcl::filter::PDFObjectElement::Lookup(), vcl::filter::PDFObjectElement::LookupObject(), m_aEditBuffer, m_aSignatureLine, m_aXRef, nLength, Read(), SAL_WARN, SvStream::Seek(), vcl::filter::XRefEntry::SetDirty(), tools::Rectangle::setHeight(), vcl::filter::XRefEntry::SetOffset(), tools::Rectangle::setWidth(), SvStream::Tell(), SvStream::WriteBytes(), SvStream::WriteNumberAsString(), SvStream::WriteOString(), and SvStream::WriteStream().
Referenced by Sign().
|
overridevirtual |
See vcl::PDFObjectContainer::writeBuffer().
Implements vcl::PDFObjectContainer.
Definition at line 92 of file pdfdocument.cxx.
References m_aEditBuffer, and SvStream::WriteBytes().
|
private |
Write the updated Catalog object as part of signing.
Definition at line 456 of file pdfdocument.cxx.
References SvMemoryStream::GetData(), vcl::filter::PDFObjectElement::GetDictionary(), vcl::filter::PDFObjectElement::GetDictionaryLength(), vcl::filter::PDFObjectElement::GetDictionaryOffset(), vcl::filter::PDFDictionaryElement::GetKeyOffset(), vcl::filter::PDFDictionaryElement::GetKeyValueLength(), vcl::filter::PDFObjectElement::GetObjectValue(), SvMemoryStream::GetSize(), vcl::filter::PDFObjectElement::GetStreamBuffer(), vcl::filter::PDFObjectElement::Lookup(), vcl::filter::PDFTrailerElement::Lookup(), vcl::filter::PDFReferenceElement::LookupObject(), vcl::filter::PDFObjectElement::LookupObject(), m_aEditBuffer, m_aXRef, m_pTrailer, m_pXRefStream, vcl::filter::NOT_COMPRESSED, SAL_WARN, SvStream::Tell(), SvStream::WriteBytes(), SvStream::WriteNumberAsString(), and SvStream::WriteOString().
Referenced by Sign().
|
private |
Write the updated Page object as part of signing.
Definition at line 353 of file pdfdocument.cxx.
References vcl::filter::PDFObjectElement::GetArray(), SvMemoryStream::GetData(), vcl::filter::PDFObjectElement::GetDictionary(), vcl::filter::PDFObjectElement::GetDictionaryLength(), vcl::filter::PDFObjectElement::GetDictionaryOffset(), vcl::filter::PDFArrayElement::GetElements(), vcl::filter::PDFDictionaryElement::GetKeyOffset(), vcl::filter::PDFDictionaryElement::GetKeyValueLength(), vcl::filter::PDFObjectElement::GetObjectValue(), i, vcl::filter::PDFObjectElement::Lookup(), vcl::filter::PDFObjectElement::LookupObject(), m_aEditBuffer, m_aXRef, vcl::filter::NOT_COMPRESSED, SAL_WARN, size, SvStream::Tell(), SvStream::WriteBytes(), SvStream::WriteNumberAsString(), and SvStream::WriteOString().
Referenced by Sign().
|
private |
Write the signature object as part of signing.
Definition at line 125 of file pdfdocument.cxx.
References vcl::PDFWriter::AppendUnicodeTextString(), vcl::PDFWriter::GetDateTime(), vcl::filter::XRefEntry::GetOffset(), m_aEditBuffer, m_aXRef, MAX_SIGNATURE_CONTENT_LENGTH, comphelper::string::padToLength(), vcl::filter::XRefEntry::SetDirty(), vcl::filter::XRefEntry::SetOffset(), SvStream::Tell(), and SvStream::WriteOString().
Referenced by Sign().
|
private |
Write the updated cross-references as part of signing.
Definition at line 626 of file pdfdocument.cxx.
References aBuffer, ZCodec::BeginCompression(), ZCodec::Compress(), vcl::filter::COMPRESSED, ZCodec::EndCompression(), vcl::filter::FREE, vcl::filter::XRefEntry::GetDirty(), vcl::filter::PDFArrayElement::GetElements(), vcl::filter::PDFReferenceElement::GetGenerationValue(), vcl::filter::PDFReferenceElement::GetObjectValue(), vcl::filter::XRefEntry::GetOffset(), SvMemoryStream::GetSize(), vcl::filter::XRefEntry::GetType(), i, vcl::filter::PDFObjectElement::Lookup(), vcl::filter::PDFTrailerElement::Lookup(), m_aEditBuffer, m_aStartXRefs, m_aXRef, m_pTrailer, m_pXRefStream, vcl::filter::NOT_COMPRESSED, nPos, nType, SvStream::Seek(), vcl::filter::XRefEntry::SetDirty(), vcl::filter::XRefEntry::SetOffset(), SvStream::SetStreamSize(), SvStream::WriteBytes(), SvStream::WriteNumberAsString(), SvStream::WriteOString(), and SvStream::WriteStream().
Referenced by Sign().
|
private |
All editing takes place in this buffer, if it happens.
Definition at line 514 of file pdfdocument.hxx.
Referenced by GetEditBuffer(), Read(), RemoveSignature(), Sign(), updateObject(), Write(), WriteAnnotObject(), WriteAppearanceObject(), writeBufferBytes(), WriteCatalogObject(), WritePageObject(), WriteSignatureObject(), and WriteXRef().
|
private |
This vector owns all elements.
Definition at line 495 of file pdfdocument.hxx.
Referenced by GetElements(), Read(), and ReadXRefStream().
|
private |
List of EOF offsets we know.
Definition at line 509 of file pdfdocument.hxx.
Referenced by PushBackEOF(), Read(), RemoveSignature(), and Tokenize().
|
private |
Object ID <-> Object pointer map.
Definition at line 501 of file pdfdocument.hxx.
Referenced by LookupObject(), Read(), SetIDObject(), and Tokenize().
|
private |
Object offset <-> Object pointer map.
Definition at line 499 of file pdfdocument.hxx.
Referenced by Read(), and Tokenize().
|
private |
Trailer offset <-> Trailer pointer map.
Definition at line 507 of file pdfdocument.hxx.
Referenced by GetCatalog(), and Tokenize().
|
private |
Signature line in PDF format, to be consumed by the next Sign() invocation.
Definition at line 517 of file pdfdocument.hxx.
Referenced by SetSignatureLine(), and WriteAppearanceObject().
|
private |
List of xref offsets we know.
Definition at line 503 of file pdfdocument.hxx.
Referenced by Read(), Tokenize(), and WriteXRef().
|
private |
Offsets of trailers, from latest to oldest.
Definition at line 505 of file pdfdocument.hxx.
Referenced by GetCatalog(), and Read().
Object ID <-> object offset map.
Definition at line 497 of file pdfdocument.hxx.
Referenced by createObject(), GetObjectOffset(), ReadXRef(), ReadXRefStream(), updateObject(), WriteAnnotObject(), WriteAppearanceObject(), WriteCatalogObject(), WritePageObject(), WriteSignatureObject(), and WriteXRef().
|
private |
0-based page number where m_aSignatureLine should be placed.
Definition at line 520 of file pdfdocument.hxx.
Referenced by SetSignaturePage(), and Sign().
|
private |
Definition at line 510 of file pdfdocument.hxx.
Referenced by Read(), Tokenize(), WriteCatalogObject(), and WriteXRef().
|
private |
When m_pTrailer is nullptr, this can still have a dictionary.
Definition at line 512 of file pdfdocument.hxx.
Referenced by GetCatalog(), Read(), ReadXRefStream(), Tokenize(), WriteCatalogObject(), and WriteXRef().