summaryrefslogtreecommitdiff
path: root/include/vcl/filter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-03-24 15:16:32 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2017-03-24 20:32:51 +0000
commitf135a8bdeba15cf72dd31c7d613d335bbfc7017b (patch)
tree79c4573ef171e449299e20bc038f936254a0c1e2 /include/vcl/filter
parent221247679bcbc2507d6f904f519040fc4467d4a1 (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/vcl/filter')
-rw-r--r--include/vcl/filter/pdfdocument.hxx5
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.