diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-03-24 15:16:32 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-03-24 20:32:51 +0000 |
commit | f135a8bdeba15cf72dd31c7d613d335bbfc7017b (patch) | |
tree | 79c4573ef171e449299e20bc038f936254a0c1e2 /include | |
parent | 221247679bcbc2507d6f904f519040fc4467d4a1 (diff) |
tdf#106693 vcl PDF export, norefxobj: update XObject refs
Start copying referenced objects recursively, and also take care of
updating references to the object IDs as they appear in our output.
With this, the 4th image referenced from the PDF image has a correctly
updated reference in its dictionary's ColorSpace key.
Change-Id: I8b49701c1f60bd0ef5a097b24ce59164554c44fa
Reviewed-on: https://gerrit.libreoffice.org/35653
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/vcl/filter/pdfdocument.hxx | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/vcl/filter/pdfdocument.hxx b/include/vcl/filter/pdfdocument.hxx index 135d30d8d8bb..fbfb81ed10a2 100644 --- a/include/vcl/filter/pdfdocument.hxx +++ b/include/vcl/filter/pdfdocument.hxx @@ -77,6 +77,8 @@ public: sal_uInt64 GetDictionaryLength(); PDFDictionaryElement* GetDictionary() const; void SetDictionary(PDFDictionaryElement* pDictionaryElement); + /// Get access to the parsed key-value items from the object dictionary. + const std::map<OString, PDFElement*>& GetDictionaryItems() const; void SetArray(PDFArrayElement* pArrayElement); void SetStream(PDFStreamElement* pStreamElement); /// Access to the stream of the object, if it has any. @@ -109,6 +111,8 @@ class VCL_DLLPUBLIC PDFReferenceElement : public PDFElement PDFDocument& m_rDoc; int m_fObjectValue; int m_fGenerationValue; + /// Location after the 'R' token. + sal_uInt64 m_nOffset = 0; public: PDFReferenceElement(PDFDocument& rDoc, int fObjectValue, int fGenerationValue); @@ -119,6 +123,7 @@ public: PDFObjectElement* LookupObject(); int GetObjectValue() const; int GetGenerationValue() const; + sal_uInt64 GetOffset() const; }; /// Stream object: a byte array with a known length. |