aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2020-12-20 20:43:08 +0100
committerJay Berkenbilt <ejb@ql.org>2020-12-20 20:43:24 +0100
commit573b6eb8b1801b40a4b6eb32cfd159f532876510 (patch)
tree0bc5a56ce0a267037b60990d90a01dadb5948622 /examples
parent20509770999f705c25670bb14a8bb83aa1cc5b96 (diff)
downloadqpdf-573b6eb8b1801b40a4b6eb32cfd159f532876510.tar.zst
Provide qpdf write progress reporting from C API (fixes #487)
Diffstat (limited to 'examples')
-rw-r--r--examples/pdf-linearize.c6
-rw-r--r--examples/qtest/linearize.test3
2 files changed, 8 insertions, 1 deletions
diff --git a/examples/pdf-linearize.c b/examples/pdf-linearize.c
index 1eb56600..adeaffb4 100644
--- a/examples/pdf-linearize.c
+++ b/examples/pdf-linearize.c
@@ -15,6 +15,11 @@ static void usage()
exit(2);
}
+static void write_progress(int percent, void* data)
+{
+ printf("%s progress: %d%%\n", (char const*)(data), percent);
+}
+
int main(int argc, char* argv[])
{
char* infile = NULL;
@@ -55,6 +60,7 @@ int main(int argc, char* argv[])
* qpdf_set_deterministic_ID. */
qpdf_set_static_ID(qpdf, QPDF_TRUE); /* for testing only */
qpdf_set_linearization(qpdf, QPDF_TRUE);
+ qpdf_register_progress_reporter(qpdf, write_progress, infile);
qpdf_write(qpdf);
}
while (qpdf_more_warnings(qpdf))
diff --git a/examples/qtest/linearize.test b/examples/qtest/linearize.test
index 700cdca3..94fbcd05 100644
--- a/examples/qtest/linearize.test
+++ b/examples/qtest/linearize.test
@@ -15,7 +15,8 @@ my $qpdf = $ENV{'QPDF_BIN'} or die;
$td->runtest("linearize",
{$td->COMMAND => "pdf-linearize input.pdf '' a.pdf"},
- {$td->STRING => "", $td->EXIT_STATUS => 0});
+ {$td->REGEXP => '(?s).*input\.pdf progress: \d+\%.*',
+ $td->EXIT_STATUS => 0});
$td->runtest("check",
{$td->COMMAND => "$qpdf --check a.pdf"},