aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2019-08-23 01:16:25 +0200
committerJay Berkenbilt <ejb@ql.org>2019-08-23 04:54:29 +0200
commit3f1ab640669ac493f1b2985b70322dba7c037ac9 (patch)
tree0da24ed76b73a365455c78f3f9a75f66b92cf8f6 /examples
parent4b2e72c4cd7dc9bc17ad78ca983ff884c1e1ee69 (diff)
downloadqpdf-3f1ab640669ac493f1b2985b70322dba7c037ac9.tar.zst
Pass offset and length to ParserCallbacks::handleObject
Diffstat (limited to 'examples')
-rw-r--r--examples/pdf-parse-content.cc15
-rw-r--r--examples/qtest/parse-content/content.out21
2 files changed, 23 insertions, 13 deletions
diff --git a/examples/pdf-parse-content.cc b/examples/pdf-parse-content.cc
index 254fcdfe..a8cd3290 100644
--- a/examples/pdf-parse-content.cc
+++ b/examples/pdf-parse-content.cc
@@ -26,14 +26,23 @@ class ParserCallbacks: public QPDFObjectHandle::ParserCallbacks
{
}
- virtual void handleObject(QPDFObjectHandle);
+ virtual void contentSize(size_t);
+ virtual void handleObject(QPDFObjectHandle, size_t offset, size_t length);
virtual void handleEOF();
};
void
-ParserCallbacks::handleObject(QPDFObjectHandle obj)
+ParserCallbacks::contentSize(size_t size)
{
- std::cout << obj.getTypeName() << ": ";
+ std::cout << "content size: " << size << std::endl;
+}
+
+void
+ParserCallbacks::handleObject(QPDFObjectHandle obj,
+ size_t offset, size_t length)
+{
+ std::cout << obj.getTypeName() << ", offset=" << offset
+ << ", length=" << length << ": ";
if (obj.isInlineImage())
{
std::cout << QUtil::hex_encode(obj.getInlineImageValue()) << std::endl;
diff --git a/examples/qtest/parse-content/content.out b/examples/qtest/parse-content/content.out
index b0c041e5..d2eb5fe8 100644
--- a/examples/qtest/parse-content/content.out
+++ b/examples/qtest/parse-content/content.out
@@ -1,11 +1,12 @@
-operator: BT
-name: /F1
-integer: 24
-operator: Tf
-integer: 72
-integer: 720
-operator: Td
-string: (Potato)
-operator: Tj
-operator: ET
+content size: 44
+operator, offset=0, length=2: BT
+name, offset=5, length=3: /F1
+integer, offset=9, length=2: 24
+operator, offset=12, length=2: Tf
+integer, offset=17, length=2: 72
+integer, offset=20, length=3: 720
+operator, offset=24, length=2: Td
+string, offset=29, length=8: (Potato)
+operator, offset=38, length=2: Tj
+operator, offset=41, length=2: ET
-EOF-